Lines 246-251
Link Here
|
246 |
boolean assistNodeIsInterface; |
246 |
boolean assistNodeIsInterface; |
247 |
boolean assistNodeIsAnnotation; |
247 |
boolean assistNodeIsAnnotation; |
248 |
boolean assistNodeIsConstructor; |
248 |
boolean assistNodeIsConstructor; |
|
|
249 |
boolean assistNodeIsSuperType; |
249 |
int assistNodeInJavadoc = 0; |
250 |
int assistNodeInJavadoc = 0; |
250 |
boolean assistNodeCanBeSingleMemberAnnotation = false; |
251 |
boolean assistNodeCanBeSingleMemberAnnotation = false; |
251 |
|
252 |
|
Lines 921-927
Link Here
|
921 |
this.assistNodeIsException = singleRef.isException(); |
922 |
this.assistNodeIsException = singleRef.isException(); |
922 |
this.assistNodeIsInterface = singleRef.isInterface(); |
923 |
this.assistNodeIsInterface = singleRef.isInterface(); |
923 |
this.assistNodeIsConstructor = singleRef.isConstructorType; |
924 |
this.assistNodeIsConstructor = singleRef.isConstructorType; |
924 |
|
925 |
this.assistNodeIsSuperType = singleRef.isSuperType(); |
|
|
926 |
|
925 |
// can be the start of a qualified type name |
927 |
// can be the start of a qualified type name |
926 |
if (qualifiedBinding == null) { |
928 |
if (qualifiedBinding == null) { |
927 |
if (this.completionToken.length == 0 && |
929 |
if (this.completionToken.length == 0 && |
Lines 1115-1120
Link Here
|
1115 |
this.assistNodeIsClass = ref.isClass(); |
1117 |
this.assistNodeIsClass = ref.isClass(); |
1116 |
this.assistNodeIsException = ref.isException(); |
1118 |
this.assistNodeIsException = ref.isException(); |
1117 |
this.assistNodeIsInterface = ref.isInterface(); |
1119 |
this.assistNodeIsInterface = ref.isInterface(); |
|
|
1120 |
this.assistNodeIsSuperType = ref.isSuperType(); |
1118 |
|
1121 |
|
1119 |
this.completionToken = ref.completionIdentifier; |
1122 |
this.completionToken = ref.completionIdentifier; |
1120 |
long completionPosition = ref.sourcePositions[ref.tokens.length]; |
1123 |
long completionPosition = ref.sourcePositions[ref.tokens.length]; |
Lines 1354-1359
Link Here
|
1354 |
this.assistNodeIsClass = ref.isClass(); |
1357 |
this.assistNodeIsClass = ref.isClass(); |
1355 |
this.assistNodeIsException = ref.isException(); |
1358 |
this.assistNodeIsException = ref.isException(); |
1356 |
this.assistNodeIsInterface = ref.isInterface(); |
1359 |
this.assistNodeIsInterface = ref.isInterface(); |
|
|
1360 |
this.assistNodeIsSuperType = ref.isSuperType(); |
1357 |
|
1361 |
|
1358 |
this.completionToken = ref.completionIdentifier; |
1362 |
this.completionToken = ref.completionIdentifier; |
1359 |
long completionPosition = ref.sourcePositions[ref.tokens.length]; |
1363 |
long completionPosition = ref.sourcePositions[ref.tokens.length]; |
Lines 4307-4315
Link Here
|
4307 |
if (typeName == null) |
4311 |
if (typeName == null) |
4308 |
return; |
4312 |
return; |
4309 |
|
4313 |
|
4310 |
if (currentType.superInterfaces() == null) |
4314 |
if (this.assistNodeIsSuperType && !this.insideQualifiedReference) return; // we're trying to find a supertype |
4311 |
return; // we're trying to find a supertype |
4315 |
|
4312 |
|
4316 |
if (currentType.superInterfaces() == null) return; |
|
|
4317 |
|
4313 |
if (this.insideQualifiedReference |
4318 |
if (this.insideQualifiedReference |
4314 |
|| typeName.length == 0) { // do not search up the hierarchy |
4319 |
|| typeName.length == 0) { // do not search up the hierarchy |
4315 |
|
4320 |
|
Lines 4463-4471
Link Here
|
4463 |
if (typeName == null || typeName.length == 0) |
4468 |
if (typeName == null || typeName.length == 0) |
4464 |
return; |
4469 |
return; |
4465 |
|
4470 |
|
4466 |
if (currentType.superInterfaces() == null) |
4471 |
if (this.assistNodeIsSuperType && !this.insideQualifiedReference) return; // we're trying to find a supertype |
4467 |
return; // we're trying to find a supertype |
|
|
4468 |
|
4472 |
|
|
|
4473 |
if (currentType.superInterfaces() == null) return; |
4474 |
|
4469 |
findMemberTypes( |
4475 |
findMemberTypes( |
4470 |
typeName, |
4476 |
typeName, |
4471 |
currentType.memberTypes(), |
4477 |
currentType.memberTypes(), |