diff options
author | Jeff Sharkey <jsharkey@android.com> | 2018-05-02 12:58:51 -0600 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2018-05-02 12:58:53 -0600 |
commit | 8272936413649b1debf14ec0d78b133a65809e50 (patch) | |
tree | ea1f2c949b302345d006e90db7eb330d15910361 | |
parent | 55c48ce3f2ac765949265b7c1ab8cf968b0495f0 (diff) | |
download | doclava-8272936413649b1debf14ec0d78b133a65809e50.tar.gz |
Fully-qualify link labels outside current class.
This results in {@link #localMethod()} appearing as "localMethod()"
and {@link OtherClass#method()} appearing as "OtherClass.method()",
making it easier to understand conceptual boundaries.
Bug: 71554546
Test: manual inspection
Change-Id: I33a8497c047885ff88fa608c317a281c069ab68c
-rw-r--r-- | src/com/google/doclava/LinkReference.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/google/doclava/LinkReference.java b/src/com/google/doclava/LinkReference.java index 0fb7fcb..0bfa42f 100644 --- a/src/com/google/doclava/LinkReference.java +++ b/src/com/google/doclava/LinkReference.java @@ -400,7 +400,14 @@ public class LinkReference { } } if (result.label.length() == 0) { - result.label = result.referencedMemberName; + // Qualify labels that link beyond the base context + final boolean beyondBase = base != null && containing != null + && !base.qualifiedName().equals(containing.qualifiedName()); + if (beyondBase) { + result.label = containing.name() + "." + result.referencedMemberName; + } else { + result.label = result.referencedMemberName; + } } setHref(result, containing, result.memberInfo.anchor()); if (DBG) System.out.println(" ---- member reference"); |