47 |
|
|
48 |
super.resolve(); |
super.resolve(); |
49 |
|
|
50 |
|
text = text.trim(); |
51 |
|
|
52 |
|
if (text.startsWith("<") || text.startsWith("\"")) { |
53 |
|
label = reference; |
54 |
|
return; |
55 |
|
} |
56 |
|
|
57 |
int labelNdx=text.indexOf(';'); |
int labelNdx=text.indexOf(';'); |
58 |
if (labelNdx>=0) { |
if (labelNdx>=0) { |
59 |
label=""; |
label=""; |
60 |
return; |
return; |
61 |
} |
} |
62 |
|
|
63 |
labelNdx=text.indexOf(')'); |
for (int i=0; i<text.length(); ++i) { |
64 |
|
if (" \t\r\n".indexOf(text.charAt(i)) >= 0) { |
65 |
|
labelNdx = i; |
66 |
|
break; |
67 |
|
} |
68 |
|
} |
69 |
|
|
70 |
|
int openParenNdx = text.indexOf('('); |
71 |
|
if (openParenNdx >= 0 && openParenNdx < labelNdx) { |
72 |
|
labelNdx=text.indexOf(openParenNdx, ')'); |
73 |
|
if (labelNdx >= 0) { |
74 |
|
++ labelNdx; |
75 |
|
} |
76 |
|
} |
77 |
|
|
78 |
if (labelNdx<0) { |
if (labelNdx<0 || labelNdx>=text.length()) { |
79 |
reference=text.trim(); |
reference=text.trim(); |
80 |
label=""; |
label=""; |
81 |
} |
} |
96 |
} |
} |
97 |
else { |
else { |
98 |
referencedFqName=reference.substring(0,mspecNdx); |
referencedFqName=reference.substring(0,mspecNdx); |
99 |
referencedMemberName=reference.substring(mspecNdx+1); |
referencedMemberName=reference.substring(mspecNdx+1); |
100 |
} |
} |
101 |
|
|
102 |
// the following is in condratiction to the api docs, but |
// the following is in contradiction to the api docs, but |
103 |
// conform to sun javadoc: return fully qualified classname |
// conform to sun javadoc: return fully qualified classname |
104 |
// with referencedClassName(). |
// with referencedClassName(). |
105 |
if (referencedFqName.trim().length()>0) { |
if (referencedFqName.trim().length()>0) { |
127 |
if (referencedMemberName!=null) { |
if (referencedMemberName!=null) { |
128 |
if (referencedMemberName.indexOf('(')<0) { |
if (referencedMemberName.indexOf('(')<0) { |
129 |
referencedMember=((ClassDocImpl)referencedClass).findField(referencedMemberName); |
referencedMember=((ClassDocImpl)referencedClass).findField(referencedMemberName); |
130 |
|
if (null == referencedMember) { |
131 |
|
MethodDoc[] methods = ((ClassDocImpl)referencedClass).methods(); |
132 |
|
for (int i=0; i<methods.length; ++i) { |
133 |
|
if (methods[i].name().equals(referencedMemberName)) { |
134 |
|
if (null == referencedMember) { |
135 |
|
referencedMember = methods[i]; |
136 |
|
} |
137 |
|
else { |
138 |
|
referencedClass = null; |
139 |
|
referencedMember = null; |
140 |
|
//print warning here |
141 |
|
break; |
142 |
|
} |
143 |
|
} |
144 |
|
} |
145 |
|
} |
146 |
} |
} |
147 |
else { |
else { |
148 |
referencedMember=((ClassDocImpl)referencedClass).findExecutableRec(referencedMemberName); |
referencedMember=((ClassDocImpl)referencedClass).findExecutableRec(referencedMemberName); |
149 |
|
if (referencedMember==null) { |
150 |
|
//System.err.println("cannot find member for '"+referencedMemberName+"'"); |
151 |
|
referencedClass = null; |
152 |
|
} |
153 |
} |
} |
|
/* |
|
|
if (referencedMember==null) { |
|
|
System.err.println("cannot find member for '"+referencedMemberName+"'"); |
|
|
} |
|
|
*/ |
|
154 |
} |
} |
155 |
} |
} |
156 |
/* |
/* |