Lines 5980-5989
Link Here
|
5980 |
for (int f = fields.length; --f >=0;) { |
5980 |
for (int f = fields.length; --f >=0;) { |
5981 |
FieldBinding field = fields[f]; |
5981 |
FieldBinding field = fields[f]; |
5982 |
FieldDeclaration fieldDeclaration = field.sourceField(); |
5982 |
FieldDeclaration fieldDeclaration = field.sourceField(); |
5983 |
if (fieldDeclaration != null && fieldDeclaration.initialization != null) { |
5983 |
// We maybe asking for a proposal inside this field's initialization. So record its id |
5984 |
// We're asking for a proposal inside this field's initialization. So record its id |
5984 |
ASTNode astNode = this.parser.assistNode; |
5985 |
fieldBeingCompletedId = field.id; |
5985 |
if(fieldDeclaration != null && fieldDeclaration.initialization != null && astNode != null) { |
5986 |
break; |
5986 |
if (fieldDeclaration.initialization.sourceEnd > 0) { |
|
|
5987 |
if (fieldDeclaration.initialization.sourceStart <= astNode.sourceStart && |
5988 |
astNode.sourceEnd <= fieldDeclaration.initialization.sourceEnd) { |
5989 |
// completion is inside a field initializer |
5990 |
fieldBeingCompletedId = field.id; |
5991 |
break; |
5992 |
} |
5993 |
} else { // The sourceEnd may not yet be set |
5994 |
CompletionNodeDetector detector = new CompletionNodeDetector(astNode, fieldDeclaration.initialization); |
5995 |
if (detector.containsCompletionNode()) { // completion is inside a field initializer |
5996 |
fieldBeingCompletedId = field.id; |
5997 |
break; |
5998 |
} |
5999 |
} |
5987 |
} |
6000 |
} |
5988 |
} |
6001 |
} |
5989 |
// Inherited fields which are hidden by subclasses are filtered out |
6002 |
// Inherited fields which are hidden by subclasses are filtered out |