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

Collapse All | Expand All

(-)codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java (+21 lines)
Lines 4720-4725 Link Here
4720
		if(oldElement != this.currentElement) {
4720
		if(oldElement != this.currentElement) {
4721
			popElement(K_LOCAL_INITIALIZER_DELIMITER);
4721
			popElement(K_LOCAL_INITIALIZER_DELIMITER);
4722
		}
4722
		}
4723
	} else if(this.currentElement != null && this.currentElement instanceof RecoveredField) {
4724
		// https://bugs.eclipse.org/bugs/show_bug.cgi?id=292087
4725
		// To make sure the array initializer is popped when the focus is shifted to the parent
4726
		// in case we're restarting recovery inside an array initializer
4727
		RecoveredElement oldElement = this.currentElement;
4728
		super.recoveryExitFromVariable();	
4729
		if(oldElement != this.currentElement) {	
4730
			if(topKnownElementKind(COMPLETION_OR_ASSIST_PARSER) == K_ARRAY_INITIALIZER) {	
4731
				popElement(K_ARRAY_INITIALIZER);	
4732
				popElement(K_FIELD_INITIALIZER_DELIMITER);	
4733
			} 	
4734
		}
4723
	} else {
4735
	} else {
4724
		super.recoveryExitFromVariable();
4736
		super.recoveryExitFromVariable();
4725
	}
4737
	}
Lines 4940-4943 Link Here
4940
	}
4952
	}
4941
	return false;
4953
	return false;
4942
}
4954
}
4955
4956
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=292087
4957
protected boolean isInsideArrayInitializer(){
4958
	int i = this.elementPtr;
4959
	if (i > -1 && this.elementKindStack[i] == K_ARRAY_INITIALIZER) {
4960
		return true;
4961
	}
4962
	return false;	
4963
}
4943
}
4964
}
(-)codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java (-2 / +13 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2010 IBM Corporation and others.
2
 * Copyright (c) 2000, 2011 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 1650-1656 Link Here
1650
			){
1650
			){
1651
			prepareForBlockStatements();
1651
			prepareForBlockStatements();
1652
			goForBlockStatementsOrCatchHeader();
1652
			goForBlockStatementsOrCatchHeader();
1653
		} else {
1653
		} else if((isInsideArrayInitializer()) &&
1654
				isIndirectlyInsideFieldInitialization() &&
1655
				this.assistNode == null
1656
				){
1657
				prepareForBlockStatements();
1658
				goForBlockStatementsopt();
1659
			} else {
1654
			prepareForHeaders();
1660
			prepareForHeaders();
1655
			goForHeaders();
1661
			goForHeaders();
1656
			this.diet = true; // passed this point, will not consider method bodies
1662
			this.diet = true; // passed this point, will not consider method bodies
Lines 1672-1677 Link Here
1672
	// does not know how to restart
1678
	// does not know how to restart
1673
	return false;
1679
	return false;
1674
}
1680
}
1681
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=292087
1682
// To be implemented in children viz. CompletionParser that are aware of array initializers
1683
protected boolean isInsideArrayInitializer() {
1684
	return false;
1685
}
1675
public abstract void setAssistIdentifier(char[] assistIdent);
1686
public abstract void setAssistIdentifier(char[] assistIdent);
1676
protected int topKnownElementInfo(int owner) {
1687
protected int topKnownElementInfo(int owner) {
1677
	return topKnownElementInfo(owner, 0);
1688
	return topKnownElementInfo(owner, 0);
(-)compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredField.java (-2 / +4 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2010 IBM Corporation and others.
2
 * Copyright (c) 2000, 2011 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 76-82 Link Here
76
	if (this.alreadyCompletedFieldInitialization || !(statement instanceof Expression)) {
76
	if (this.alreadyCompletedFieldInitialization || !(statement instanceof Expression)) {
77
		return super.add(statement, bracketBalanceValue);
77
		return super.add(statement, bracketBalanceValue);
78
	} else {
78
	} else {
79
		this.alreadyCompletedFieldInitialization = true;
79
		if (statement.sourceEnd > 0)
80
			this.alreadyCompletedFieldInitialization = true;
81
		// else we may still be inside the initialization, having parsed only a part of it yet
80
		this.fieldDeclaration.initialization = (Expression)statement;
82
		this.fieldDeclaration.initialization = (Expression)statement;
81
		this.fieldDeclaration.declarationSourceEnd = statement.sourceEnd;
83
		this.fieldDeclaration.declarationSourceEnd = statement.sourceEnd;
82
		this.fieldDeclaration.declarationEnd = statement.sourceEnd;
84
		this.fieldDeclaration.declarationEnd = statement.sourceEnd;
(-)src/org/eclipse/jdt/core/tests/compiler/parser/CompletionParserTest.java (-1 / +117 lines)
Lines 19-25 Link Here
19
	super(testName);
19
	super(testName);
20
}
20
}
21
static {
21
static {
22
//	TESTS_NAMES = new String[] { "testXA_1FGGUQF_1FHSL8H_1" };
22
//	TESTS_NAMES = new String[] { "testBug292087" };
23
}
23
}
24
public static Test suite() {
24
public static Test suite() {
25
	return buildAllCompliancesTestSuite(CompletionParserTest.class);
25
	return buildAllCompliancesTestSuite(CompletionParserTest.class);
Lines 8688-8691 Link Here
8688
		expectedReplacedSource,
8688
		expectedReplacedSource,
8689
		testName);
8689
		testName);
8690
}
8690
}
8691
8692
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=292087
8693
// To verify that the completion node is found inside a field initializer
8694
// that contains an anonymous class.
8695
public void testBug292087a(){
8696
	String str =
8697
			"package test;\n" +
8698
			"class MyClass{\n" +
8699
			"}\n" +
8700
			"public class Try extends Thread{\n" +
8701
			"	public static MyClass MyClassField;" +
8702
			"	public static MyClass MyClassMethod(){\n" +
8703
			"		return null;\n" +
8704
			"	}\n" +
8705
			"	public MyClass member[] = {\n" +
8706
			"		" +
8707
			"		new MyClass (){\n" +
8708
			"			public void abc() {}\n" +
8709
			"		},\n" +
8710
			"		/*Complete here*/\n" +
8711
			"	};\n" +
8712
			"}\n";
8713
8714
	String testName = "";
8715
	String completeBehind = "/*Complete here*/";
8716
	String expectedCompletionNodeToString = "<CompleteOnName:>";
8717
	String expectedParentNodeToString = 
8718
		"public MyClass[] member = {<CompleteOnName:>};";
8719
	String completionIdentifier = "";
8720
	String expectedReplacedSource = "";
8721
	int cursorLocation = str.lastIndexOf("/*Complete here*/") + completeBehind.length() - 1;
8722
	String expectedUnitDisplayString =
8723
			"package test;\n" + 
8724
			"class MyClass {\n" + 
8725
			"  MyClass() {\n" + 
8726
			"  }\n" + 
8727
			"}\n" + 
8728
			"public class Try extends Thread {\n" + 
8729
			"  public static MyClass MyClassField;\n" + 
8730
			"  public MyClass[] member = {<CompleteOnName:>};\n" + 
8731
			"  public Try() {\n" + 
8732
			"  }\n" + 
8733
			"  <clinit>() {\n" + 
8734
			"  }\n" + 
8735
			"  public static MyClass MyClassMethod() {\n" + 
8736
			"  }\n" + 
8737
			"}\n";
8738
8739
	checkDietParse(
8740
		str.toCharArray(),
8741
		cursorLocation,
8742
		expectedCompletionNodeToString,
8743
		expectedParentNodeToString,
8744
		expectedUnitDisplayString,
8745
		completionIdentifier,
8746
		expectedReplacedSource,
8747
		testName);
8748
}
8749
8750
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=292087
8751
// To verify that anonymous class inside an array initializer of a recovered field
8752
// doesn't end up at a bogus location.
8753
public void testBug292087b(){
8754
	String str =
8755
			"package test;\n" +
8756
			"class MyClass{\n" +
8757
			"}\n" +
8758
			"public class Try extends Thread{\n" +
8759
			"	public static MyClass MyClassField;" +
8760
			"	public static MyClass MyClassMethod(){\n" +
8761
			"		return null;\n" +
8762
			"	}\n" +
8763
			"	public MyClass member[] = {\n" +
8764
			"		/*Complete here*/\n" +
8765
			"		new MyClass (){\n" +
8766
			"			public void abc() {}\n" +
8767
			"		},\n" +
8768
			"		" +
8769
			"	};\n" +
8770
			"}\n";
8771
8772
	String testName = "";
8773
	String completeBehind = "/*Complete here*/";
8774
	String expectedCompletionNodeToString = "<CompleteOnName:>";
8775
	String expectedParentNodeToString = 
8776
		"public MyClass[] member = {<CompleteOnName:>};";
8777
	String completionIdentifier = "";
8778
	String expectedReplacedSource = "";
8779
	int cursorLocation = str.lastIndexOf("/*Complete here*/") + completeBehind.length() - 1;
8780
	String expectedUnitDisplayString =
8781
			"package test;\n" + 
8782
			"class MyClass {\n" + 
8783
			"  MyClass() {\n" + 
8784
			"  }\n" + 
8785
			"}\n" + 
8786
			"public class Try extends Thread {\n" + 
8787
			"  public static MyClass MyClassField;\n" + 
8788
			"  public MyClass[] member = {<CompleteOnName:>};\n" + 
8789
			"  public Try() {\n" + 
8790
			"  }\n" + 
8791
			"  <clinit>() {\n" + 
8792
			"  }\n" + 
8793
			"  public static MyClass MyClassMethod() {\n" + 
8794
			"  }\n" + 
8795
			"}\n";
8796
8797
	checkDietParse(
8798
		str.toCharArray(),
8799
		cursorLocation,
8800
		expectedCompletionNodeToString,
8801
		expectedParentNodeToString,
8802
		expectedUnitDisplayString,
8803
		completionIdentifier,
8804
		expectedReplacedSource,
8805
		testName);
8806
}
8691
}
8807
}
(-)src/org/eclipse/jdt/core/tests/model/CompletionTests.java (+139 lines)
Lines 984-989 Link Here
984
	suite.addTest(new CompletionTests("test325481b"));
984
	suite.addTest(new CompletionTests("test325481b"));
985
	suite.addTest(new CompletionTests("testBug332268a"));
985
	suite.addTest(new CompletionTests("testBug332268a"));
986
	suite.addTest(new CompletionTests("testBug332268b"));
986
	suite.addTest(new CompletionTests("testBug332268b"));
987
	suite.addTest(new CompletionTests("testBug292087b"));
988
	suite.addTest(new CompletionTests("testBug292087c"));
989
	suite.addTest(new CompletionTests("testBug292087d"));
987
	return suite;
990
	return suite;
988
}
991
}
989
public CompletionTests(String name) {
992
public CompletionTests(String name) {
Lines 22947-22950 Link Here
22947
			"myVar1[FIELD_REF]{myVar1, Ltest.Test;, I, myVar1, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED + R_EXACT_EXPECTED_TYPE) + "}",
22950
			"myVar1[FIELD_REF]{myVar1, Ltest.Test;, I, myVar1, null, " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_CASE + R_UNQUALIFIED + R_NON_RESTRICTED + R_EXACT_EXPECTED_TYPE) + "}",
22948
			requestor.getResults());
22951
			requestor.getResults());
22949
}
22952
}
22953
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=292087
22954
public void testBug292087b() throws JavaModelException {
22955
	this.workingCopies = new ICompilationUnit[1];
22956
	this.workingCopies[0] = getWorkingCopy(
22957
			"/Completion/src/test/Try.java",
22958
			"package test;\n" +
22959
			"class MyClass{\n" +
22960
			"}\n" +
22961
			"public class Try extends Thread{\n" +
22962
			"	public static MyClass MyClassField;" +
22963
			"	public static MyClass MyClassMethod(){\n" +
22964
			"		return null;\n" +
22965
			"	}\n" +
22966
			"	public MyClass member[] = { new MyClass (){\n" +
22967
			"		public void abc() {}\n" +
22968
			"		},\n" +
22969
			"		/*Complete here*/M" +
22970
			"	};\n" +
22971
			"}\n");
22972
22973
	CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
22974
	requestor.allowAllRequiredProposals();
22975
	String str = this.workingCopies[0].getSource();
22976
	String completeBehind = "/*Complete here*/M";
22977
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
22978
	this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
22979
	assertResults(
22980
			"expectedTypesSignatures={Ltest.MyClass;}\n" +
22981
			"expectedTypesKeys={Ltest/Try~MyClass;}",
22982
			requestor.getContext());
22983
	assertResults(
22984
			"mypackage[PACKAGE_REF]{mypackage, mypackage, null, null, null, " + (R_NON_STATIC + R_UNQUALIFIED) + "}\n" +
22985
			"MyClass[TYPE_REF]{mypackage.MyClass, mypackage, Lmypackage.MyClass;, null, null, " + (R_NON_STATIC + R_UNQUALIFIED + R_CASE) + "}\n" +
22986
			"MyClass[TYPE_REF]{MyClass, test, Ltest.MyClass;, null, null, " + (R_NON_STATIC + R_UNQUALIFIED + R_CASE + R_NON_RESTRICTED + R_EXACT_EXPECTED_TYPE) + "}\n" +
22987
			"MyClassField[FIELD_REF]{MyClassField, Ltest.Try;, Ltest.MyClass;, MyClassField, null, " + (R_NON_STATIC + R_UNQUALIFIED + R_CASE + R_NON_RESTRICTED + R_EXACT_EXPECTED_TYPE) + "}\n" +
22988
			"MyClassMethod[METHOD_REF]{MyClassMethod(), Ltest.Try;, ()Ltest.MyClass;, MyClassMethod, null, " + (R_NON_STATIC + R_UNQUALIFIED + R_CASE + R_NON_RESTRICTED + R_EXACT_EXPECTED_TYPE) + "}",
22989
			requestor.getResults());
22990
}
22991
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=292087
22992
public void testBug292087c() throws JavaModelException {
22993
	this.workingCopies = new ICompilationUnit[1];
22994
	this.workingCopies[0] = getWorkingCopy(
22995
			"/Completion/src/test/Try.java",
22996
			"package test;\n" +
22997
			"class MyClass{\n" +
22998
			"}\n" +
22999
			"public class Try extends Thread{\n" +
23000
			"	public static MyClass MyClassField;" +
23001
			"	public static MyClass MyClassMethod(){\n" +
23002
			"		return null;\n" +
23003
			"	}\n" +
23004
			"	public MyClass member[] = { new MyClass (){\n" +
23005
			"		public void abc() {}\n" +
23006
			"		},\n" +
23007
			"		/*Complete here*/" +
23008
			"	};\n" +
23009
			"}\n");
23010
23011
	CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
23012
	requestor.allowAllRequiredProposals();
23013
	String str = this.workingCopies[0].getSource();
23014
	String completeBehind = "/*Complete here*/";
23015
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
23016
	this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
23017
	assertResults(
23018
			"expectedTypesSignatures={Ltest.MyClass;}\n" +
23019
			"expectedTypesKeys={Ltest/Try~MyClass;}",
23020
			requestor.getContext());
23021
	assertResults(
23022
			"finalize[METHOD_REF]{finalize(), Ljava.lang.Object;, ()V, finalize, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23023
			"notify[METHOD_REF]{notify(), Ljava.lang.Object;, ()V, notify, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23024
			"notifyAll[METHOD_REF]{notifyAll(), Ljava.lang.Object;, ()V, notifyAll, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23025
			"wait[METHOD_REF]{wait(), Ljava.lang.Object;, ()V, wait, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23026
			"wait[METHOD_REF]{wait(), Ljava.lang.Object;, (J)V, wait, (millis), " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23027
			"wait[METHOD_REF]{wait(), Ljava.lang.Object;, (JI)V, wait, (millis, nanos), " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23028
			"Try[TYPE_REF]{Try, test, Ltest.Try;, null, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23029
			"clone[METHOD_REF]{clone(), Ljava.lang.Object;, ()Ljava.lang.Object;, clone, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23030
			"equals[METHOD_REF]{equals(), Ljava.lang.Object;, (Ljava.lang.Object;)Z, equals, (obj), " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23031
			"getClass[METHOD_REF]{getClass(), Ljava.lang.Object;, ()Ljava.lang.Class;, getClass, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23032
			"hashCode[METHOD_REF]{hashCode(), Ljava.lang.Object;, ()I, hashCode, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23033
			"toString[METHOD_REF]{toString(), Ljava.lang.Object;, ()Ljava.lang.String;, toString, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23034
			"MyClass[TYPE_REF]{MyClass, test, Ltest.MyClass;, null, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_EXACT_EXPECTED_TYPE) + "}\n" +
23035
			"MyClassField[FIELD_REF]{MyClassField, Ltest.Try;, Ltest.MyClass;, MyClassField, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_EXACT_EXPECTED_TYPE) + "}\n" +
23036
			"MyClassMethod[METHOD_REF]{MyClassMethod(), Ltest.Try;, ()Ltest.MyClass;, MyClassMethod, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_EXACT_EXPECTED_TYPE) + "}",
23037
			requestor.getResults());
23038
}
23039
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=292087
23040
public void testBug292087d() throws JavaModelException {
23041
	this.workingCopies = new ICompilationUnit[1];
23042
	this.workingCopies[0] = getWorkingCopy(
23043
			"/Completion/src/test/Try.java",
23044
			"package test;\n" +
23045
			"class MyClass{\n" +
23046
			"}\n" +
23047
			"public class Try extends Thread{\n" +
23048
			"	public static MyClass MyClassField;" +
23049
			"	public static MyClass MyClassMethod(){\n" +
23050
			"		return null;\n" +
23051
			"	}\n" +
23052
			"	public MyClass member[] = {\n" +
23053
			"		/*Complete here*/\n" +
23054
			"		new MyClass (){\n" +
23055
			"			public void abc() {}\n" +
23056
			"		},\n" +
23057
			"		" +
23058
			"	};\n" +
23059
			"}\n");
23060
23061
	CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
23062
	requestor.allowAllRequiredProposals();
23063
	String str = this.workingCopies[0].getSource();
23064
	String completeBehind = "/*Complete here*/";
23065
	int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
23066
	this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
23067
	assertResults(
23068
			"expectedTypesSignatures={Ltest.MyClass;}\n" +
23069
			"expectedTypesKeys={Ltest/Try~MyClass;}",
23070
			requestor.getContext());
23071
	assertResults(
23072
			"finalize[METHOD_REF]{finalize(), Ljava.lang.Object;, ()V, finalize, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23073
			"notify[METHOD_REF]{notify(), Ljava.lang.Object;, ()V, notify, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23074
			"notifyAll[METHOD_REF]{notifyAll(), Ljava.lang.Object;, ()V, notifyAll, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23075
			"wait[METHOD_REF]{wait(), Ljava.lang.Object;, ()V, wait, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23076
			"wait[METHOD_REF]{wait(), Ljava.lang.Object;, (J)V, wait, (millis), " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23077
			"wait[METHOD_REF]{wait(), Ljava.lang.Object;, (JI)V, wait, (millis, nanos), " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_VOID) + "}\n" +
23078
			"Try[TYPE_REF]{Try, test, Ltest.Try;, null, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23079
			"clone[METHOD_REF]{clone(), Ljava.lang.Object;, ()Ljava.lang.Object;, clone, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23080
			"equals[METHOD_REF]{equals(), Ljava.lang.Object;, (Ljava.lang.Object;)Z, equals, (obj), " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23081
			"getClass[METHOD_REF]{getClass(), Ljava.lang.Object;, ()Ljava.lang.Class;, getClass, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23082
			"hashCode[METHOD_REF]{hashCode(), Ljava.lang.Object;, ()I, hashCode, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23083
			"toString[METHOD_REF]{toString(), Ljava.lang.Object;, ()Ljava.lang.String;, toString, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS) + "}\n" +
23084
			"MyClass[TYPE_REF]{MyClass, test, Ltest.MyClass;, null, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_EXACT_EXPECTED_TYPE) + "}\n" +
23085
			"MyClassField[FIELD_REF]{MyClassField, Ltest.Try;, Ltest.MyClass;, MyClassField, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_EXACT_EXPECTED_TYPE) + "}\n" +
23086
			"MyClassMethod[METHOD_REF]{MyClassMethod(), Ltest.Try;, ()Ltest.MyClass;, MyClassMethod, null, " + (R_RESOLVED + R_NON_STATIC + R_NAME_LESS_NEW_CHARACTERS + R_EXACT_EXPECTED_TYPE) + "}",
23087
			requestor.getResults());
23088
}
22950
}
23089
}

Return to bug 292087