View | Details | Raw Unified | Return to bug 325481 | Differences between
and this patch

Collapse All | Expand All

(-)codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java (-4 / +17 lines)
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

Return to bug 325481