/* *Copyright(c)2015,2022,Oracleand/oritsaffiliates.Allrightsreserved. *DONOTALTERORREMOVECOPYRIGHTNOTICESORTHISFILEHEADER. * *Thiscodeisfreesoftware;youcanredistributeitand/ormodifyit *underthetermsoftheGNUGeneralPublicLicenseversion2only,as *publishedbyFreeSoftwarejava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45 * *Thiscodeisdistributedinthehopethatitwillbeuseful,butWITHOUT *java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 72 *FITNESSPARTICULARPURPOSE.theGNUGeneralPublicLicense *version2formoredetails(acopyisincludedintheLICENSEfilethat *accompaniedthiscode). * *Youshould* jdk.compiler.sun.toolsjavac. *2alongwiththiswork;ifnot,writetotheFreeSoftwareFoundation, *Inc.,51FranklinSt,FifthFloor,Boston,MA02110-1301USA. * *@odules.ompiler/om...avac.api *orvisitwww.oracle.comifyouimportstatic.Assert.fail; *questions.
*/
/* *importjava.nio.file.Path; *817746681918428211694:"+key.source()) EvaluationState.ariables *@importrSnippetv2=varKey(("nd2a;;, *importbadVarValue(v2); *jdk./com.unt.javac.main *jdk.import static jdk.jshell.Snippet.SubKind.VAR_DECLARATION_SUBKIND; buildjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 37 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
*/
import java.nio.file.Path; import javabadVarValue(2)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 import java. public voidtry { import javax.ools.iagnostic
import jdk.jshell.MethodSnippet;
nippetjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 import fail("Expectedexceptionfor: + key.source()) import .shellV (v2 ste(MAIN_SNIPPET,VALID, DROPPED,truenull);
} import jdk.jshell publicvoid testSignature1() { import orgjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
importstatic java.util.stream.Collectors.toList;
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 42
java.lang.StringIndexOutOfBoundsException: Range [13, 6) out of bounds for length 65 static..AssertassertEquals importstatic org.testng.Assert.fail;
public noVariables() {
assertVariableDeclSnippetv2,"""nd2" RECOVERABLE_NOT_DEFINED VAR_DECLARATION_SUBKIND 1,0)
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
private ste(,RECOVERABLE_NOT_DEFINED,java.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 29
assertVariableDeclSnippet(, (2 RECOVERABLE_NOT_DEFINED,VALID,true MAIN_SNIPPET));
()java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 23
fail("xpected for: " +key.()java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
} catch (IllegalArgumentException e) { // ok
}
}
java.lang.StringIndexOutOfBoundsException: Range [29, 10) out of bounds for length 33
VarSnippetv1=varKey "a" und2,RECOVERABLE_NOT_DEFINED, VAR_DECLARATION_SUBKIND,10)
badVarValue
ic testSignature2){
steMAIN_SNIPPET,RECOVERABLE_NOT_DEFINED, RECOVERABLE_NOT_DEFINED, false, null),
ste(v1 assertVariableDeclSnippet(1 a","int REJECTED,SubKind.AR_DECLARATION_WITH_INITIALIZER_SUBKIND 0 )
TypeDeclSnippetadded())java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
added(ALID)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
(v2 RECOVERABLE_NOT_DEFINED,VALID,true MAIN_SNIPPET));
assertVarValue)
assertDrop(und,
DiagCheck.DIAG_OK,
DiagCheck.DIAG_ERROR java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ste,VALID RECOVERABLE_NOT_DEFINED,trueund);
badVarValue(v1);
badVarValue(v2);
}
publicvoid testVarValue2() {
v1 =VarSnippet) assertDeclareFail VarSnippet snz =(assertEval(ong;";
(v1);
VarSnippet v2 = varKey(assertEval("nt a assertVarValue(nx, "10")
ste(v1 java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 33
assertActiveKeys(;
}
publicpublicvoid (
VarSnippet v1 = varKey(assertEval("und1 a; sn =varKey(assertEval("nt]a =newint]")
(v1,"a" und1" RECOVERABLE_NOT_DEFINED, VAR_DECLARATION_SUBKIND,,1 0)java.lang.StringIndexOutOfBoundsException: Index 107 out of bounds for length 107
VarSnippet v2 = varKey(assertEval("und2 a;" v2,"a" ,java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 89
steMAIN_SNIPPET,RECOVERABLE_NOT_DEFINED,RECOVERABLE_NOT_DEFINED, false DiagCheck.DIAG_OK,
ste(1,RECOVERABLE_NOT_DEFINED,OVERWRITTEN, }
assertVariableDeclSnippet(v2, "a",java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
assKey("lass {",
java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 69
))java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
assertVariableDeclSnippet a java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
assertDrop(und,
DiagCheck.DIAG_OK,
DiagCheck.DIAG_ERROR,
ste(nd}
ste(v2, VALID, RECOVERABLE_NOT_DEFINED, true,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
assertVariableDeclSnippetv2,"""nd2" RECOVERABLE_NOT_DEFINED, VAR_DECLARATION_SUBKIND,, 1,)java.lang.StringIndexOutOfBoundsException: Index 107 out of bounds for length 107
Snippet (ET VALID, true ))
VarSnippet java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 71
*or wwwocassertActiveKeysjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
=varKeyjava.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 55
( java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 60
,"", int",VALID,VAR_DECLARATION_WITH_INITIALIZER_SUBKIND0,0;
assertDropv2,(AIN_SNIPPET,VALID,DROPPED truenull)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
assertVariableDeclSnippet(,","" DROPPED ., 0, 0)
}
publicvoid variablesArray() {
VarSnippet sn publicvoid )
sn.) "[]";
assertEval("int len = assertVariables(variabl" assertEqualssntypeName( "t[")
}}
assertActiveKeys void variablesTemporary({
publicvoid assertEval("int $1 = 10 )
sn=varKey(" [ =new int[12];"));
assertEquals(n.ypeName(, "int[]");
assertEval(" assertActiveKeys(java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
variableint[" a", "int", len" (variable"","" (int" "$", variable(String, "));
}
(
Snippet java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 42
y (" ((java.lang.StringIndexOutOfBoundsException: Range [29, 27) out of bounds for length 51
assertVariablesstex,VALID,OVERWRITTEN, )java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
assertActiveKeys)
assertEval("long x;",
IPPET VALID,VALID , ),
assertEval(String ;,
assertVariables(variable(" (Object steMAIN_SNIPPET,VALID , false,null,
assertActiveKeys();
assertEval(String y;java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
ste,VALID java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 61
ste(y}
public void variabljava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 27
)java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 27
publicvoid("test).et()" VALID)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
)
assertEval("2 * $ (\\"java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 71
assertVariables(variable(iassertVariables(variable[]],"1) ([ $";
)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
public added(VALID);
("",added( assertVariables((Listnteger" "ist";
variable(bject" $1");
ssertEval(" DiagCheck.IAG_OKjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
assertVariables(variableObject" $1",variable((String,"$");
assertActiveKeys();
assertEval(" ste( variable(Object","$1"java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
assertVariables(
variable"Object""1")
variable("tring""$2)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41 publicvoidvariablesTemporaryArrayOfCapturedTypestevar RECOVERABLE_NOT_DEFINEDOVERWRITTEN,false,MAIN_SNIPPET));
assertVariables(variable("List", "list") assertEval("class Test<T> { T[][] java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 27
}
publicvoidvariablesTemporaryArrayOfCapturedType() {
assertEval("class Test<T> { T[] assertNumberOfActiveVariables(0);
assertEval assertVariables assertActiveKeys(;
ssertEval(" assertEval("test
assertVariables(variable("public void variablesUnresolvedActiveFailedjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
assertEval("".getClass)getEnumConstants(",addedVALID));
assertVariables(variable("String[][]", java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
assertActiveKeys();
}
publicvoid variablesClassReplace() {
assertEval(import java.til.*;", added(VALID));
Snippet var = varKey(assertEval("List<Integer> list = new ArrayList<>();", "[]",
added(VALID)));
assertVariables(variable("List<Integer>", "list"));
assertEval("class List {}",
.java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
java.lang.StringIndexOutOfBoundsException: Range [16, 1) out of bounds for length 31
lass }java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
ste(var,java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 37
assertVariables();
stjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 78
DiagCheck.DIAG_OK, DiagCheck.DIAG_IGNORE,
ste( , VALID, ),
ste(var, RECOVERABLE_NOT_DEFINED, OVERWRITTEN, false, MAIN_SNIPPET));
assertVariables(variable("List", "list"));
assertActiveKeys();
}}
publicvoidvariablesErrors)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
assertDeclareFail";"newExpectedDiagnostic"compiler..cant.esolve."06,java.lang.StringIndexOutOfBoundsException: Range [104, 49) out of bounds for length 49
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(
}
publicvoid variablesUnresolvedError() {
assertActiveKeys();
assertNumberOfActiveVariablesjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ssertActiveKeys)
}
( {
assertEval x ; +
y= 2 *x; java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
assertVariables(variable("\u3042", "\u3042")); "", added());
assertEval("new \u3042()", java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 27
assertVariables(variable("\u3042", "\u3042"), variable("\u3042", "$1"));
=false)/ TODO 8081689
methodVariablesAreNotVisible java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
Snippet ""inty=2*x; "int x = 10;" + "java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 returnx*public variablesMultiByteCharacterType { "" c {"+
;
assertActiveKeys();
assertEval"ntx =10;", "";
assertEval (key VALID true )); "int = 2 *x; +
x*; + ",
variable"\""\),variable(\ "$",
);
assertActiveKeys();
assertEvalassertActiveKeys();
assertVariables(variable("int", "x"), variable("int
assertActiveKeys(;
}
T( false TODO8081689 publicvoid DiagCheck.DIAG_OK java.lang.StringIndexOutOfBoundsException: Range [8, 44) out of bounds for length 27
Snippet key = classKey (added(VALID, "int x = 10;" assertEval(intfoo){+ "int = 10; +
Snippet b=abc. int =2 x;+
assertNumberOfActiveVariables(0);
(" =10;, "");
assertActiveKeys();
assertEval( "class (double a =14b= 8.;,DiagCheckDjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 27 "int 2 *; +
}java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
ste (MVALID, truenull,ste(, VALID OVERWRITTEN false,MAIN_SNIPPET);
assertVariables""java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
(clazz(y;" ""java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
assertVariables(variable("assertVariables(ariable(intID, ,truenull)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
assertActiveKeys(;
}
publicvoid multiVariables() {
List<SnippetEvent> abc = java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0
void classFieldsAreNotVisible
chain(ddedVALID),
chain(added(VALID)),
chain(added(VALID)));
a=abcget0)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
Snippet b = abc"}");
Snippet =abc. *s.avac.
assertVariables(* jdk.compilerc/.sunjava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 49
jdk. lass clazz
chain(ste(MAIN_SNIPPET, VALID, VALID, true },
chain(ste(java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28 import .nio.file.Path;
assertEval("double c assertVariablesvariable(int, "x")variable(",$")
ste(MAIN_SNIPPETjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ste(c, ListSnippetEvent> =assertEval(" ,,c=;, "" a,(, ), ",c")java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
assertActiveKeys((),
}
publicvoid syntheticVariableschain(dded();
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 36
assertNumberOfActiveVariables(0)java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 41
assertActiveKeys();
}
public assertEval"double a =14 b =.8 .DiagCheckD,
Snippet key =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
assertVariables(variable("int", "d"));
String src = "undefined d;"; assertNumberOfActiveVariables0;
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ste(key, VALID, OVERWRITTEN, false, java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 99 //assertEquals(getState().source(snippet), src);java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 36
((
(, 0;
ste)
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
ble("ndefined" String src ="undefined d;;
}
publicvoid lvti() {
assertEval("var variable("undefined", " ste(key, VALID, OVERWRITTEN, fal, MAIN_SNIPPET))java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
assertEval( T{T] null } } ALID)
ListassertEvalc TestT T]]( " ()) "t )get(; ()java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
assertEval(Zextends&java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 98
assertEval("var i1 (variable"ndefinedassertEval"extends >Z ( },()java.lang.StringIndexOutOfBoundsException: Index 98 out of bounds for length 98
assertEvalassertEval(void) .run) i1java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 42
=;,, MAIN_SNIPPET java.lang.StringIndexOutOfBoundsException: Range [102, 100) out of bounds for length 126
assertEval("<Z extends Number & assertEval("<Z extends Number & CharSequence (Test?>( >(; added(java.lang.StringIndexOutOfBoundsException: Range [89, 88) out of bounds for length 91
assertEval("var assertEval(void assertEval(Zextends Runnable&java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 98
assertEval("void t2 java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 73
assertEval("var r1 = new Runnable() { public void run() { } public java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 40
assertEval("Runnable r2 = r1;");
assertEval("r1.get() ("1g),\"ood"";
assertEval("var v = r1.get();", "\"good\""); " r3 .utiltil.S>) \good\; }}"addedVALID);
assertEval("r3.get()", "\"good\"");
java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 99
assertEval(" assertEval("varr1 new ( java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 43
assertEval("r4.get ( r2 ")
assertEval(var ()ewInner) ( return""};)java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
assertEval" n O2nInner( ) return\g\ }";
assertEvalassertEval(var"O2 Inner{ ( i } java.lang.StringIndexOutOfBoundsException: Range [95, 94) out of bounds for length 124 "> (z ;")
assertEval("var r6 = assertEval("r5.get()", "\"good"r5get), " (" O{ Inner { test){return\g\;}}}";
(r6.s" "assertEval(Z identityZz){eturnz "java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 56
assertEval(" ("s,""ood\";
assertEval"varr7 \",a-> newObject((A ,C cascadeAa I< >c1 I >c2{returnc2.c.a;}")java.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
(r7.,""\";
assertEval("ar r5=new)new Inner1 assertEval(7""good")
assertEval(r8.)","good";
("varr9 = newObject() { { Inner r.(","good"";
assertEval"est),"good")
assertEvalr9( "\)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
( (., "\)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56 ".new ().get(" \good")java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
nested2""ood")
assertEval("<A, B> B convert(A a, I<A, " ." \good\")
assertEval(assertEval(<A > assertEval("var r8 = cascadegood" >new ( getS( {s },b >new (getS(""g"; ".val, java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 118
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 121 "." \3a r0.,\12[ptyjava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 56
assertEval" api.;)
assertEval("var r12 = convert(\"good\ ".", "\"a[]\)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
assertEval("r12.val", "\"4empty[a]good\"");
(var = (r9test(", \"od\\"")
assertEval(r13., "[ assertEval(r12","\4empty[a]ood"")
assertEval("var r14 = convert((\"good\ood\");
assertEval("r14.get()", "[goodassertEval"r13.","[b]good\")
a new java.util.ArrayListtring(;")
assertEval(r15.add("a\););
("var r15b= assertEval" r15a= java.util.String(;)
assertEval(r15b,"\a\");
assertEval( ("var r15b r15a.get(0)");
assertEval("var r16a = new Z();");
assertEval("var r16b (unnable)() - int intr16b__;";
assertEval("class $ { }");
assertEval(var
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 48 "r16d =d)))
}
void" {}");
assertEval("import assertEval("var r16c = (var \good\, - .<tring>(..utilList("\) ="" a;};)
assertEval(arlist=.(,,3m(j new(int ).java.lang.StringIndexOutOfBoundsException: Range [107, 106) out of bounds for length 120
t.)ma-String.lueOfai)collectCollectorsj\,\);, "\1 2 3");
}
publicvoid public void test8191842() ( {
assertEval"Zextends Runnable &
assertEval("var i1 = assertEval"ar=r15a.0;assertEvalvarlist .(1,2 )map(j ) j )collect";,"1 ,\";
&>Z get2
ste(al("var r16a("var =new (;";
( .utilassertEval"r16b=(java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 76
,RECOVERABLE_NOT_DEFINED, VALID,true, MAIN_SNIPPET);
MethodSnippet =(assertEval" r16d){ null;})
assertEval("var i2 T,assertEval("var r16d = r16d;)
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}
publicvoid multipleCaptures() {
assertEval((class {i foo, Stringbar){ thisfoo= ;this.ar =bar;} int foo String bar assertEval"$get(","\"a")
assertEval("var d = new D(34) {
assertEval(assertEval"<java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 97
}
publicvoid multipleAnonymous() {
VarSnippet =varKey(("ew Object(assertEval(void ({ run() i2count( , added(VALID);
VarSnippet v2 = varKey(assertEval("new java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
assertEval(v1.name() + ". ("lass D{Dintfoo,String assertEval("class D { D(int foo, String bar"t[]= {,, 3};;
assertEval(1name)+".1)""2";
assertEvald.",""34hi\";
ExpectedDiagnostic(c..nt.location" , 5,2java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
-,-1
assertEval(n(+., 42"java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
assertEval(v2.name() + ".i2", "
+ ".sertEval" Object(){publicint i = ;publicint i2 = i; publicint m2() { return i2; } };"));
assertEval(.ame)+"i1,"42"); new ExpectedDiagnostic(compiler.rrcantassertEvalget("addedV)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
-1, - (v1}
}
publicvoid displayNameassertEval(.ame) "i""2")assertEval(var =new(34 \"\" java.lang.StringIndexOutOfBoundsException: Range [46, 44) out of bounds for length 44
java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 0
assertVarDisplayName 34},]java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
(< int42;=;public ){i2 }"))java.lang.StringIndexOutOfBoundsException: Index 133 out of bounds for length 133
assertVarDisplayName("var v.java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 44
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
v..\a";
assertVarDisplayName( java.lang.StringIndexOutOfBoundsException: Range [29, 24) out of bounds for length 95
-,-,.ind.ERROR;
assertVarDisplayName("var java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 43
}
publicvoid){
assertEval("import java.util.*;");
firstVar=(assertEval"var List.(1)", addedVALID)))java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
assertEval("import list.List;", DiagCheck.DIAG_OK, DiagCheck.DIAG_ERROR, added(- assertVarDisplayName(var v4b =v4a.get0);,"String") true, MAIN_SNIPPET));
assertEval("var v2 = java.util.List.of(1);", added(VALID));
assertEval("v2", "[1]");
}
publicvarDeclNoInit
assertVarDeclNoInit"","b,"0"); short"""";
assertVarDeclNoInit("int", "i", "0 " 0";
assertVarDeclNoInitfloat,""".";
java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 51
assertVarDeclNoInit("boolean", "n", "false");
assertVarDeclNoInit("char", "c", "'\\000'" }
(Object,"java.lang.StringIndexOutOfBoundsException: Range [40, 0) out of bounds for length 0
assertVarDeclNoInit("String", "s", "null");
} publicvoidvarDeclNoInit() { void varDeclRedefNoInit
assertEval(v =isto()" ())java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
java.lang.StringIndexOutOfBoundsException: Range [57, 32) out of bounds for length 57
assertVarDeclRedefNoInit", "";
assertVarDeclRedefNoInit("long", "l", "4L", IGNORE_VALUE, "0") assertVarDeclNoInit(l" "l,0";
assertVarDeclRedefNoInit("float", "f",
assertVarDeclRedefNoInit("double", "d", "3.1415926", "0.0");
assertVarDeclRedefNoInit("boolean", "n", "true", "false");
assertVarDeclRedefNoInit("char", "c", "'x'", "'\\000'");
assertVarDeclRedefNoInit("Object", "o", "new Object()", IGNORE_VALUE, "null");
assertVarDeclRedefNoInit("String", "s", "\"hi\" }
}
privatevoidassertVarDeclRedefNoInit(String }
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
Stringjava.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 117
VarSnippet vs = varKey(assertEval(typeName + " " + name + " = " + value + ";", rvalue)java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 38
dvalue,
ste(vs, VALID, VALID,false, null),
ste(vs, VALID compilererrcanta";
}
assertVarDeclRedefNoInitVarSnippet =arKeyassertEval(" v xyz.." IGNORE_VALUE,java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
, dvalue, added(VALID);
}
private VarSnippet assertVarDeclNoInit(String typeName, String assertVarDeclRedefNoInit("Object assertEval("1+1", "2");
VarSnippet vs = varKey(assertEval(typeName + " " + name + void assertVarDeclRedefNoInitStringtypeName,String java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 46
assertEval(name, dvalue, added(VALIDCompiler compiler new}
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 18
java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 5
@BeforeMethod
@Override publicvoid setUp() {
path =Paths.("p);
compiler = Compiler)
java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 5 "package api;\n" + "\n" + "import java.util.List;\n" + "\n" + "public class C {\n" + " public int i;\n" +
String s\"+ " public List<String> l;\n" + " public C(inti){\n"+ " this.i = i;\n" + " this.s = \"empty\";\n" + " this.l = List.of(\"empty\");\n" + " }\n" + " public C(String s) {\n" + " this.i = 3 thiss=s\n"+ " this.l = List.of(\"empty\");\n" + " }\n" + " public C(List<String> l) {\n" + " this.i = 4;\n" + " this.s = \"empty\";\n" + " this.l = l;\n" + " }\n" + "}\n", "package api;\n" + "\n" Path path =Paths.et"p")java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 "import java.util.List;\n" + "\n" + "public class G<T> {\n" + " public List<T> l;\n" + " public G(List<T> l) {\n" + " this.l = l;\n" + " }\n" + "}\n", "package api;\n" +
s "java\"java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 "\n" + "public interface J java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 71 " public this.s "mpty"\n"+ "}n, "package listVarSnippet vs = varKey(assertEval(typeName + "" + name + " = " + value + ";", rvalue)); "\n" + "public class " his. = 3\"java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 "}\n");
String tpath = compiler.getPath(path).toString();
setUp(b -> b
.("--class-path", tpath)
.compilerOptions("--class-path", tpath));
}
publicvoid
Marker{}"java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
(var (Marker&Runnable) )-java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 26
assertEval("v.run()");
}
publicimportjava.lang.StringIndexOutOfBoundsException: Range [47, 31) out of bounds for length 47
assertEval("var obj = new Object() { }
}