Lines 1-5
Link Here
|
1 |
/******************************************************************************* |
1 |
/******************************************************************************* |
2 |
* Copyright (c) 2005, 2008 IBM Corporation and others. |
2 |
* Copyright (c) 2005, 2010 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 4928-4931
Link Here
|
4928 |
"completion token location=UNKNOWN", |
4928 |
"completion token location=UNKNOWN", |
4929 |
result.context); |
4929 |
result.context); |
4930 |
} |
4930 |
} |
|
|
4931 |
|
4932 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=236306 |
4933 |
public void test0167() throws JavaModelException { |
4934 |
this.workingCopies = new ICompilationUnit[3]; |
4935 |
this.workingCopies[0] = getWorkingCopy( |
4936 |
"/Completion/src3/test/X.java", |
4937 |
"package test;\n" + |
4938 |
"import java.text.MessageFormat;\n" + |
4939 |
"public class X {\n" + |
4940 |
" public void foo() {\n" + |
4941 |
" String fooBar = \"Hi\";" + |
4942 |
" String furchtbar= MessageFormat.format\n" + |
4943 |
" }\n" + |
4944 |
"}"); |
4945 |
|
4946 |
String str = this.workingCopies[0].getSource(); |
4947 |
int tokenStart = str.lastIndexOf("format"); |
4948 |
int tokenEnd = tokenStart + "format".length() - 1; |
4949 |
int cursorLocation = str.lastIndexOf("format") + "format".length(); |
4950 |
|
4951 |
CompletionResult result = contextComplete(this.workingCopies[0], cursorLocation, true, true); |
4952 |
String jclPath = getExternalJCLPathString(); |
4953 |
assertResults( |
4954 |
"completion offset="+(cursorLocation)+"\n" + |
4955 |
"completion range=["+(tokenStart)+", "+(tokenEnd)+"]\n" + |
4956 |
"completion token=\"format\"\n" + |
4957 |
"completion token kind=TOKEN_KIND_NAME\n" + |
4958 |
"expectedTypesSignatures={Ljava.lang.String;}\n" + |
4959 |
"expectedTypesKeys={Ljava/lang/String;}\n" + |
4960 |
"completion token location=UNKNOWN\n" + |
4961 |
"enclosingElement=foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]\n" + |
4962 |
"visibleElements={\n" + |
4963 |
" fooBar [in foo() [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]],\n" + |
4964 |
" foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
4965 |
" wait(long, int) {key=Ljava/lang/Object;.wait(JI)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
4966 |
" wait(long) {key=Ljava/lang/Object;.wait(J)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
4967 |
" wait() {key=Ljava/lang/Object;.wait()V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
4968 |
" toString() {key=Ljava/lang/Object;.toString()Ljava/lang/String;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
4969 |
" notifyAll() {key=Ljava/lang/Object;.notifyAll()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
4970 |
" notify() {key=Ljava/lang/Object;.notify()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
4971 |
" hashCode() {key=Ljava/lang/Object;.hashCode()I} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
4972 |
" getClass() {key=Ljava/lang/Object;.getClass()Ljava/lang/Class;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
4973 |
" finalize() {key=Ljava/lang/Object;.finalize()V|Ljava/lang/Throwable;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
4974 |
" equals(java.lang.Object) {key=Ljava/lang/Object;.equals(Ljava/lang/Object;)Z} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
4975 |
" clone() {key=Ljava/lang/Object;.clone()Ljava/lang/Object;|Ljava/lang/CloneNotSupportedException;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
4976 |
"}", |
4977 |
result.context); |
4978 |
} |
4979 |
|
4980 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=236306 |
4981 |
public void test0168() throws JavaModelException { |
4982 |
this.workingCopies = new ICompilationUnit[3]; |
4983 |
this.workingCopies[0] = getWorkingCopy( |
4984 |
"/Completion/src3/test/X.java", |
4985 |
"package test;\n" + |
4986 |
"import java.text.MessageFormat;\n" + |
4987 |
"public class X {\n" + |
4988 |
" public String format(String str, Object... args) {\n" + |
4989 |
" return \"hello\";\n" + |
4990 |
" }\n" + |
4991 |
" public void foo() {\n" + |
4992 |
" String fooBar = \"Hi\";" + |
4993 |
" String furchtbar= this.format\n" + |
4994 |
" }\n" + |
4995 |
"}"); |
4996 |
|
4997 |
String str = this.workingCopies[0].getSource(); |
4998 |
int tokenStart = str.lastIndexOf("format"); |
4999 |
int tokenEnd = tokenStart + "format".length() - 1; |
5000 |
int cursorLocation = str.lastIndexOf("format") + "format".length(); |
5001 |
|
5002 |
CompletionResult result = contextComplete(this.workingCopies[0], cursorLocation, true, true); |
5003 |
String jclPath = getExternalJCLPathString(); |
5004 |
assertResults( |
5005 |
"completion offset="+(cursorLocation)+"\n" + |
5006 |
"completion range=["+(tokenStart)+", "+(tokenEnd)+"]\n" + |
5007 |
"completion token=\"format\"\n" + |
5008 |
"completion token kind=TOKEN_KIND_NAME\n" + |
5009 |
"expectedTypesSignatures={Ljava.lang.String;}\n" + |
5010 |
"expectedTypesKeys={Ljava/lang/String;}\n" + |
5011 |
"completion token location=UNKNOWN\n" + |
5012 |
"enclosingElement=foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]\n" + |
5013 |
"visibleElements={\n" + |
5014 |
" fooBar [in foo() [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]],\n" + |
5015 |
" format(String, Object[]) {key=Ltest/X;.format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5016 |
" foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5017 |
" wait(long, int) {key=Ljava/lang/Object;.wait(JI)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5018 |
" wait(long) {key=Ljava/lang/Object;.wait(J)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5019 |
" wait() {key=Ljava/lang/Object;.wait()V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5020 |
" toString() {key=Ljava/lang/Object;.toString()Ljava/lang/String;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5021 |
" notifyAll() {key=Ljava/lang/Object;.notifyAll()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5022 |
" notify() {key=Ljava/lang/Object;.notify()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5023 |
" hashCode() {key=Ljava/lang/Object;.hashCode()I} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5024 |
" getClass() {key=Ljava/lang/Object;.getClass()Ljava/lang/Class;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5025 |
" finalize() {key=Ljava/lang/Object;.finalize()V|Ljava/lang/Throwable;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5026 |
" equals(java.lang.Object) {key=Ljava/lang/Object;.equals(Ljava/lang/Object;)Z} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5027 |
" clone() {key=Ljava/lang/Object;.clone()Ljava/lang/Object;|Ljava/lang/CloneNotSupportedException;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5028 |
"}", |
5029 |
result.context); |
5030 |
} |
5031 |
|
5032 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=236306 |
5033 |
public void test0169() throws JavaModelException { |
5034 |
this.workingCopies = new ICompilationUnit[3]; |
5035 |
this.workingCopies[0] = getWorkingCopy( |
5036 |
"/Completion/src3/test/X.java", |
5037 |
"package test;\n" + |
5038 |
"import java.text.MessageFormat;\n" + |
5039 |
"public class X {\n" + |
5040 |
" public String format(String str, Object... args) {\n" + |
5041 |
" return \"hello\";\n" + |
5042 |
" }\n" + |
5043 |
" public String methods(String str, String s) {\n" + |
5044 |
" return \"hello\";\n" + |
5045 |
" }\n" + |
5046 |
" public void foo() {\n" + |
5047 |
" X x = new X();\n" + |
5048 |
" String fooBar = \"Hi\";\n" + |
5049 |
" String furchtbar= x.methods(fooBar, format\n" + |
5050 |
" }\n" + |
5051 |
"}"); |
5052 |
|
5053 |
String str = this.workingCopies[0].getSource(); |
5054 |
int tokenStart = str.lastIndexOf("format"); |
5055 |
int tokenEnd = tokenStart + "format".length() - 1; |
5056 |
int cursorLocation = str.lastIndexOf("format") + "format".length(); |
5057 |
|
5058 |
CompletionResult result = contextComplete(this.workingCopies[0], cursorLocation, true, true); |
5059 |
String jclPath = getExternalJCLPathString(); |
5060 |
assertResults( |
5061 |
"completion offset="+(cursorLocation)+"\n" + |
5062 |
"completion range=["+(tokenStart)+", "+(tokenEnd)+"]\n" + |
5063 |
"completion token=\"format\"\n" + |
5064 |
"completion token kind=TOKEN_KIND_NAME\n" + |
5065 |
"expectedTypesSignatures={Ljava.lang.String;}\n" + |
5066 |
"expectedTypesKeys={Ljava/lang/String;}\n" + |
5067 |
"completion token location=UNKNOWN\n" + |
5068 |
"enclosingElement=foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]\n" + |
5069 |
"visibleElements={\n" + |
5070 |
" x [in foo() [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]],\n" + |
5071 |
" fooBar [in foo() [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]],\n" + |
5072 |
" methods(String, String) {key=Ltest/X;.methods(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5073 |
" format(String, Object[]) {key=Ltest/X;.format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5074 |
" foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5075 |
" wait(long, int) {key=Ljava/lang/Object;.wait(JI)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5076 |
" wait(long) {key=Ljava/lang/Object;.wait(J)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5077 |
" wait() {key=Ljava/lang/Object;.wait()V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5078 |
" toString() {key=Ljava/lang/Object;.toString()Ljava/lang/String;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5079 |
" notifyAll() {key=Ljava/lang/Object;.notifyAll()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5080 |
" notify() {key=Ljava/lang/Object;.notify()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5081 |
" hashCode() {key=Ljava/lang/Object;.hashCode()I} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5082 |
" getClass() {key=Ljava/lang/Object;.getClass()Ljava/lang/Class;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5083 |
" finalize() {key=Ljava/lang/Object;.finalize()V|Ljava/lang/Throwable;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5084 |
" equals(java.lang.Object) {key=Ljava/lang/Object;.equals(Ljava/lang/Object;)Z} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5085 |
" clone() {key=Ljava/lang/Object;.clone()Ljava/lang/Object;|Ljava/lang/CloneNotSupportedException;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5086 |
"}", |
5087 |
result.context); |
5088 |
} |
5089 |
|
5090 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=236306 |
5091 |
public void test0170() throws JavaModelException { |
5092 |
this.workingCopies = new ICompilationUnit[3]; |
5093 |
this.workingCopies[0] = getWorkingCopy( |
5094 |
"/Completion/src3/test/X.java", |
5095 |
"package test;\n" + |
5096 |
"public class X {\n" + |
5097 |
" public String format(String str, Object... args) {\n" + |
5098 |
" return \"hello\";\n" + |
5099 |
" }\n" + |
5100 |
" public void foo() {\n" + |
5101 |
" String fooBar = \"Hi\";\n" + |
5102 |
" String furchtbar= format\n" + |
5103 |
" }\n" + |
5104 |
"}"); |
5105 |
|
5106 |
String str = this.workingCopies[0].getSource(); |
5107 |
int tokenStart = str.lastIndexOf("format"); |
5108 |
int tokenEnd = tokenStart + "format".length() - 1; |
5109 |
int cursorLocation = str.lastIndexOf("format") + "format".length(); |
5110 |
|
5111 |
CompletionResult result = contextComplete(this.workingCopies[0], cursorLocation, true, true); |
5112 |
String jclPath = getExternalJCLPathString(); |
5113 |
assertResults( |
5114 |
"completion offset="+(cursorLocation)+"\n" + |
5115 |
"completion range=["+(tokenStart)+", "+(tokenEnd)+"]\n" + |
5116 |
"completion token=\"format\"\n" + |
5117 |
"completion token kind=TOKEN_KIND_NAME\n" + |
5118 |
"expectedTypesSignatures={Ljava.lang.String;}\n" + |
5119 |
"expectedTypesKeys={Ljava/lang/String;}\n" + |
5120 |
"completion token location=UNKNOWN\n" + |
5121 |
"enclosingElement=foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]\n" + |
5122 |
"visibleElements={\n" + |
5123 |
" fooBar [in foo() [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]],\n" + |
5124 |
" format(String, Object[]) {key=Ltest/X;.format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5125 |
" foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5126 |
" wait(long, int) {key=Ljava/lang/Object;.wait(JI)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5127 |
" wait(long) {key=Ljava/lang/Object;.wait(J)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5128 |
" wait() {key=Ljava/lang/Object;.wait()V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5129 |
" toString() {key=Ljava/lang/Object;.toString()Ljava/lang/String;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5130 |
" notifyAll() {key=Ljava/lang/Object;.notifyAll()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5131 |
" notify() {key=Ljava/lang/Object;.notify()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5132 |
" hashCode() {key=Ljava/lang/Object;.hashCode()I} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5133 |
" getClass() {key=Ljava/lang/Object;.getClass()Ljava/lang/Class;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5134 |
" finalize() {key=Ljava/lang/Object;.finalize()V|Ljava/lang/Throwable;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5135 |
" equals(java.lang.Object) {key=Ljava/lang/Object;.equals(Ljava/lang/Object;)Z} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5136 |
" clone() {key=Ljava/lang/Object;.clone()Ljava/lang/Object;|Ljava/lang/CloneNotSupportedException;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5137 |
"}", |
5138 |
result.context); |
5139 |
} |
5140 |
|
5141 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=236306 |
5142 |
public void test0171() throws JavaModelException { |
5143 |
this.workingCopies = new ICompilationUnit[3]; |
5144 |
this.workingCopies[0] = getWorkingCopy( |
5145 |
"/Completion/src3/test/X.java", |
5146 |
"package test;\n" + |
5147 |
"import java.text.MessageFormat;\n" + |
5148 |
"public class X {\n" + |
5149 |
" public String format(String str, Object... args) {\n" + |
5150 |
" return \"hello\";\n" + |
5151 |
" }\n" + |
5152 |
" public void foo() {\n" + |
5153 |
" String fooBar = \"Hi\";\n" + |
5154 |
" String furchtbar= new String(MessageFormat.format\n" + |
5155 |
" }\n" + |
5156 |
"}"); |
5157 |
|
5158 |
String str = this.workingCopies[0].getSource(); |
5159 |
int tokenStart = str.lastIndexOf("format"); |
5160 |
int tokenEnd = tokenStart + "format".length() - 1; |
5161 |
int cursorLocation = str.lastIndexOf("format") + "format".length(); |
5162 |
|
5163 |
CompletionResult result = contextComplete(this.workingCopies[0], cursorLocation, true, true); |
5164 |
String jclPath = getExternalJCLPathString(); |
5165 |
assertResults( |
5166 |
"completion offset="+(cursorLocation)+"\n" + |
5167 |
"completion range=["+(tokenStart)+", "+(tokenEnd)+"]\n" + |
5168 |
"completion token=\"format\"\n" + |
5169 |
"completion token kind=TOKEN_KIND_NAME\n" + |
5170 |
"expectedTypesSignatures=null\n" + |
5171 |
"expectedTypesKeys=null\n" + |
5172 |
"completion token location=UNKNOWN\n" + |
5173 |
"enclosingElement=foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]\n" + |
5174 |
"visibleElements={\n" + |
5175 |
" fooBar [in foo() [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]],\n" + |
5176 |
" format(String, Object[]) {key=Ltest/X;.format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5177 |
" foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5178 |
" wait(long, int) {key=Ljava/lang/Object;.wait(JI)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5179 |
" wait(long) {key=Ljava/lang/Object;.wait(J)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5180 |
" wait() {key=Ljava/lang/Object;.wait()V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5181 |
" toString() {key=Ljava/lang/Object;.toString()Ljava/lang/String;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5182 |
" notifyAll() {key=Ljava/lang/Object;.notifyAll()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5183 |
" notify() {key=Ljava/lang/Object;.notify()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5184 |
" hashCode() {key=Ljava/lang/Object;.hashCode()I} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5185 |
" getClass() {key=Ljava/lang/Object;.getClass()Ljava/lang/Class;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5186 |
" finalize() {key=Ljava/lang/Object;.finalize()V|Ljava/lang/Throwable;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5187 |
" equals(java.lang.Object) {key=Ljava/lang/Object;.equals(Ljava/lang/Object;)Z} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5188 |
" clone() {key=Ljava/lang/Object;.clone()Ljava/lang/Object;|Ljava/lang/CloneNotSupportedException;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5189 |
"}", |
5190 |
result.context); |
5191 |
} |
5192 |
|
5193 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=236306 |
5194 |
public void test0172() throws JavaModelException { |
5195 |
this.workingCopies = new ICompilationUnit[3]; |
5196 |
this.workingCopies[0] = getWorkingCopy( |
5197 |
"/Completion/src3/test/X.java", |
5198 |
"package test;\n" + |
5199 |
"import java.text.MessageFormat;\n" + |
5200 |
"public class X {\n" + |
5201 |
" public String format(String str, Object... args) {\n" + |
5202 |
" return \"hello\";\n" + |
5203 |
" }\n" + |
5204 |
" public void foo() {\n" + |
5205 |
" String fooBar = \"Hi\";\n" + |
5206 |
" int i = 1;\n" + |
5207 |
" String furchtbar= (i < 1) ? fooBar : format\n" + |
5208 |
" }\n" + |
5209 |
"}"); |
5210 |
|
5211 |
String str = this.workingCopies[0].getSource(); |
5212 |
int tokenStart = str.lastIndexOf("format"); |
5213 |
int tokenEnd = tokenStart + "format".length() - 1; |
5214 |
int cursorLocation = str.lastIndexOf("format") + "format".length(); |
5215 |
|
5216 |
CompletionResult result = contextComplete(this.workingCopies[0], cursorLocation, true, true); |
5217 |
String jclPath = getExternalJCLPathString(); |
5218 |
assertResults( |
5219 |
"completion offset="+(cursorLocation)+"\n" + |
5220 |
"completion range=["+(tokenStart)+", "+(tokenEnd)+"]\n" + |
5221 |
"completion token=\"format\"\n" + |
5222 |
"completion token kind=TOKEN_KIND_NAME\n" + |
5223 |
"expectedTypesSignatures=null\n" + |
5224 |
"expectedTypesKeys=null\n" + |
5225 |
"completion token location={STATEMENT_START}\n" + |
5226 |
"enclosingElement=foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]\n" + |
5227 |
"visibleElements={\n" + |
5228 |
" fooBar [in foo() [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]],\n" + |
5229 |
" i [in foo() [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]]],\n" + |
5230 |
" format(String, Object[]) {key=Ltest/X;.format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5231 |
" foo() {key=Ltest/X;.foo()V} [in X [in [Working copy] X.java [in test [in src3 [in Completion]]]]],\n" + |
5232 |
" wait(long, int) {key=Ljava/lang/Object;.wait(JI)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5233 |
" wait(long) {key=Ljava/lang/Object;.wait(J)V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5234 |
" wait() {key=Ljava/lang/Object;.wait()V|Ljava/lang/IllegalMonitorStateException;|Ljava/lang/InterruptedException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5235 |
" toString() {key=Ljava/lang/Object;.toString()Ljava/lang/String;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5236 |
" notifyAll() {key=Ljava/lang/Object;.notifyAll()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5237 |
" notify() {key=Ljava/lang/Object;.notify()V|Ljava/lang/IllegalMonitorStateException;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5238 |
" hashCode() {key=Ljava/lang/Object;.hashCode()I} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5239 |
" getClass() {key=Ljava/lang/Object;.getClass()Ljava/lang/Class;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5240 |
" finalize() {key=Ljava/lang/Object;.finalize()V|Ljava/lang/Throwable;} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5241 |
" equals(java.lang.Object) {key=Ljava/lang/Object;.equals(Ljava/lang/Object;)Z} [in Object [in Object.class [in java.lang [in " + jclPath + "]]]],\n" + |
5242 |
" clone() {key=Ljava/lang/Object;.clone()Ljava/lang/Object;|Ljava/lang/CloneNotSupportedException;} [in Object [in Object.class [in java.lang [in " + jclPath +"]]]],\n" + |
5243 |
"}", |
5244 |
result.context); |
5245 |
} |
4931 |
} |
5246 |
} |