Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  VariablesTest.java   Sprache: JAVA

 

/*
 * Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of *java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 45
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    for  details (a copy is included in the LICENSE file * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * accompanied * accompaniedthis ).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
voidjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 31
 ste(java.lang.StringIndexOutOfBoundsException: Range [49, 47) out of bounds for length 78
assertVariableDeclSnippet,                2RECOVERABLE_NOT_DEFINEDgetState().java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 23
* visitwww.racle.java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 27
 * questions.
 */


/*
 * @test
*@ug 81449038177466,                 (,"", ",java.lang.StringIndexOutOfBoundsException: Range [111, 105) out of bounds for length 113
 * @summary Snippet key=(java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 36
* @        a  abc();
 .untoolsjapi
 *jdk.mpilertoolsjavac.main
 *          j" "java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
tStream 
 * @run testng VariablesTest
 */


import javajava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
import java.nio.file.Paths;
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
;

import jdk.jshell.MethodSnippet;
import                -path, ));
import jdk.jshell.TypeDeclSnippet;
import }
import jdk.jshell.Snippet.SubKind;
import
import org.testng.annotations.BeforeMethod;
import      void varIntersection){

import static java.util.stream.Collectors.toList        assertEval(" Marker })
import static jdk.jshell.Snippet.Status.        assertEval( v &Runnable) )- {" java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 74
import static jdk.jshell.Snippet.SubKind.VAR_DECLARATION_SUBKINDjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [44, 6) out of bounds for length 45
import static org.testng.Assert.fail;

@Test
public class VariablesTest extends KullaTesting {

    public void noVariables() {
        assertNumberOfActiveVariables(0);
    }

    private void badVarValue
        try {
            getState().varValue(key);
            fail("Expected exception for: " + key.source());
        } catch (IllegalArgumentException e) {
            // ok
        }
    }

    public void testVarValue1() {
        VarSnippet v1 = varKey(assertEval("und1 a;", added(RECOVERABLE_NOT_DEFINED)));
        badVarValue(v1);
        VarSnippet v2 = varKey(assertEval("und2 a;",
                ste(MAIN_SNIPPET, RECOVERABLE_NOT_DEFINED, RECOVERABLE_NOT_DEFINED, false, null),
                ste(v1, RECOVERABLE_NOT_DEFINED, OVERWRITTEN, false, MAIN_SNIPPET)));
        badVarValue(v2);
        TypeDeclSnippet und = classKey(assertEval("class und2 {}",
                added(VALID),
                ste(v2, RECOVERABLE_NOT_DEFINED, VALID, true, MAIN_SNIPPET)));
        assertVarValue(v2, "null");
        assertDrop(und,
                DiagCheck.DIAG_OK,
                DiagCheck.DIAG_ERROR,
                ste(und, VALID, DROPPED, true, null),
                ste(v2, VALID, RECOVERABLE_NOT_DEFINED, true, und));
        badVarValue(v1);
        badVarValue(v2);
    }

    public void testVarValue2() {
        VarSnippet v1 = (VarSnippet) assertDeclareFail("int a = 0.0;", "compiler.err.prob.found.req");
     

    public void 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(;
    }

    public     public void ( 
        VarSnippet v1 = varKey(assertEval("und1 a;         sn =varKey(assertEval("nt]a =new int]")
        (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 true null)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
        assertVariableDeclSnippet(,","" DROPPED ., 0, 0)
    }

    public void variables() {
        VarSnippet snx =assertVarValue(,""\");
        VarSnippet sny = varKey(assertEval(;
        VarSnippet snz = varKey
        assertVariables("nt","") variable"String, "), variable("long", "
        (snx "");
        assertVarValue(sny,"\\";
        assertVarValue(nz, 0";
        (
    }

    public void variablesArray() {
        VarSnippet sn    publicvoid ) 
        sn.) "[]";
        assertEval("int len =         assertVariables(variabl" assertEqualssntypeName( "t[")
}}
        assertActiveKeys
     void variablesTemporary({

    public void         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
        

        )assertEval";, VALID " javau..",added(ALID);
          (assertEval("List>list   ArrayList<>();","],

    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
                public voidvariablesTemporaryArrayOfCapturedTypestevar 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
    }

    public voidvariablesTemporaryArrayOfCapturedType() {
        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();
    }

    public void 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." 0 6,java.lang.StringIndexOutOfBoundsException: Range [104, 49) out of bounds for length 49
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        (
    }

    public void variablesUnresolvedActiveFailed() {
        VarSnippet key = varKey(assertEval("und\" \        assertActiveKeys);
            public  (){
        assertUnresolvedDependencies1key,,"lassassertVariablesv(\3042""u3042)(u", "$1")
        (1;
        assertActiveKeys();
    }

    public void 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"));

        assertEval("class \u3042\        assertEval("nt( { +
        (\u3042u3044u3046\u3048\u304a \3042u3044\u3046\u3048\u304a =null;", (VALID));
        assertVariables(variable("\u3042", "\u3042"), variable("\u3042", "$1"),
                variable("\u3042\u3044\u3046\u3048\ assertActiveKeys();
        assertEval("new \ assertEval("foo();", "200");
"""u3042) variable("u3042,$1",
                variable("\u3042\u3044\u3046\u3048\u304a", "\u3042\u3044\u3046\u3048\u304a"),
                (\u3044\3046\\u3048u304, "2);
        assertActiveKeys();
    }

     =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
    public void 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, true null,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(;
    }

    public void 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((),
    }

    public void 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;;
    }

    public void 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 "r1.get()", "\"good\"");
        assertEval("var v = r1.get();", "\"good\"");
        assertEval("var r3 = new java.util.ArrayList<String>(42) { public String get() { return \"good\"; } };", added(VALID));
        assertEval("r3.get()", "\"good\"");
        assertEval("class O { public class Inner { public String test() { return \"good\"; } } }");
        assertEval("var r4 = new O().new Inner() { public String get() { return \"good\"; } };");
        assertEval("r4.get()", "\"good\"");
        assertEval("class O2 { public class Inner { public Inner(int i) { } public String test() { return \"good\"; } } }");
        assertEval("var r5 = new O2().new Inner(1) { public String get() { return \"good\"; } };");
        assertEval("r5.get()", "\"good\"");
        assertEval("<Z> Z identity(Z z) { return z; }");
        assertEval("var r6 = identity(new Object() { String s = \"good\"; });");
        assertEval("r6.s", "\"good\"");
        assertEval("interface I<B, C> { C get(B b); }");
        assertEval("<A, B, C> C cascade(A a, I<A, B> c1, I<B, C> c2) { return c2.get(c1.get(a)); }");
        assertEval("var r7 = cascade(\"good\", a -> new Object() { String s = a; }, b -> new java.util.ArrayList<String>(5) { String s = b.s; });");
        assertEval("r7.s", "\"good\"");
        assertEval("var r8 = cascade(\"good\", a -> new Object() { String s = a; public String getS() { return s; } }, b -> new java.util.ArrayList<String>(5) { String s = b.getS(); public String getS() { return s; } });");
        assertEval("r8.getS()", "\"good\"");
        assertEval("var r9 = new Object() { class T { class Inner { public String g() { return outer(); } } public String outer() { return \"good\"; } public String test() { return new Inner() {}.g(); } } public String test() { return new T().test(); } };");
        assertEval("r9.test()", "\"good\"");
        assertEval("var nested1 = new Object() { class N { public String get() { return \"good\"; } } };");
        assertEval("nested1.new N().get()", "\"good\"");
        assertEval("var nested2 = cascade(\"good\", a -> new Object() { abstract class G { abstract String g(); } G g = new G() { String g() { return a; } }; }, b -> new java.util.ArrayList<String>(5) { String s = b.g.g(); });");
        assertEval("nested2.s", "\"good\"");
        assertEval("<A, B> B convert(A a, I<A, B> c) { return c.get(a); }");
        assertEval("var r10 = convert(\"good\", a -> new api.C(12) { public String val = \"\" + i + s + l + a; } );");
        assertEval("r10.val", "\"12empty[empty]good\"");
        assertEval("var r11 = convert(\"good\", a -> new api.C(\"a\") { public String val = \"\" + i + s + l + a; } );");
        assertEval("r11.val", "\"3a[empty]good\"");
        assertEval("import api.C;");
        assertEval("var r12 = convert(\"good\", a -> new C(java.util.List.of(\"a\")) { public String val = \"\" + i + s + l + a; } );");
        assertEval("r12.val", "\"4empty[a]good\"");
        assertEval("var r13 = convert(\"good\", a -> new api.G<String>(java.util.List.of(\"b\")) { public String val = \"\" + l + a; } );");
        assertEval("r13.val", "\"[b]good\"");
        assertEval("var r14 = convert(\"good\", a -> new api.J<String>() { public java.util.List<String> get() { return java.util.List.of(a, \"c\"); } } );");
        assertEval("r14.get()", "[good, c]");
        assertEval("var r15a = new java.util.ArrayList<String>();");
        assertEval("r15a.add(\"a\");");
        assertEval("var r15b = r15a.get(0);");
        assertEval("r15b", "\"a\"");
        assertEval("class Z { }");
        assertEval("var r16a = new Z();");
        assertEval("var r16b = (Runnable) () -> {int r16b_; int r16b__;};");
        assertEval("class $ { }");
        assertEval("var r16c = new $();");
        assertEval("$ r16d() { return null; }");
        assertEval("var r16d = r16d();");
    }

    public void test8191842() {
        assertEval("import java.util.stream.*;");
        assertEval("var list = Stream.of(1, 2, 3).map(j -> new Object() { int i = j; }).collect(Collectors.toList());");
        assertEval("list.stream().map(a -> String.valueOf(a.i)).collect(Collectors.joining(\", \"));", "\"1, 2, 3\"");
    }

    public void lvtiRecompileDependentsWithIntersectionTypes() {
        assertEval("<Z extends Runnable & CharSequence> Z get1() { return null; }", added(VALID));
        assertEval("var i1 = get1();", added(VALID));
        MethodSnippet get2 = methodKey(assertEval("<Z extends Runnable & Stream> Z get2() { return null; }",
            ste(MAIN_SNIPPET, NONEXISTENT, RECOVERABLE_NOT_DEFINED, false, null)));
        assertEval("import java.util.stream.*;", added(VALID),
                                                 ste(get2, RECOVERABLE_NOT_DEFINED, VALID, true, MAIN_SNIPPET));
        assertEval("void t1() { i1.run(); i1.length(); }", added(VALID));
        assertEval("var i2 = get2();", added(VALID));
        assertEval("void t2() { i2.run(); i2.count(); }", added(VALID));
    }

    public void arrayInit() {
        assertEval("int[] d = {1, 2, 3};");
    }

    public void testAnonymousVar() {
        assertEval("new Object() { public String get() { return \"a\"; } }");
        assertEval("$1.get()", "\"a\"");
    }

    public void testIntersectionVar() {
        assertEval("<Z extends Runnable & CharSequence> Z get() { return null; }", added(VALID));
        assertEval("get();", added(VALID));
        assertEval("void t1() { $1.run(); $1.length(); }", added(VALID));
    }

    public void multipleCaptures() {
        assertEval("class D { D(int foo, String bar) { this.foo = foo; this.bar = bar; } int foo; String bar; } ");
        assertEval("var d = new D(34, \"hi\") { String z = foo + bar; };");
        assertEval("d.z", "\"34hi\"");
    }

    public void multipleAnonymous() {
        VarSnippet v1 = varKey(assertEval("new Object() { public int i = 42; public int i1 = i; public int m1() { return i1; } };"));
        VarSnippet v2 = varKey(assertEval("new Object() { public int i = 42; public int i2 = i; public int m2() { return i2; } };"));
        assertEval(v1.name() + ".i", "42");
        assertEval(v1.name() + ".i1", "42");
        assertEval(v1.name() + ".m1()", "42");
        assertDeclareFail(v1.name() + ".i2",
                          new ExpectedDiagnostic("compiler.err.cant.resolve.location", 0, 5, 2,
                                                 -1, -1, Diagnostic.Kind.ERROR));
        assertEval(v2.name() + ".i", "42");
        assertEval(v2.name() + ".i2", "42");
        assertEval(v2.name() + ".m2()", "42");
        assertDeclareFail(v2.name() + ".i1",
                          new ExpectedDiagnostic("compiler.err.cant.resolve.location", 0, 5, 2,
                                                 -1, -1, Diagnostic.Kind.ERROR));
    }

    public void displayName() {
        assertVarDisplayName("var v1 = 234;", "int");
        assertVarDisplayName("var v2 = new int[] {234};", "int[]");
        assertEval("<Z extends Runnable & CharSequence> Z get() { return null; }", added(VALID));
        assertVarDisplayName("var v3 = get();", "CharSequence&Runnable");
        assertVarDisplayName("var v4a = new java.util.ArrayList<String>();", "java.util.ArrayList<String>");
        assertEval("v4a.add(\"a\");");
        assertVarDisplayName("var v4b = v4a.get(0);", "String");
        assertVarDisplayName("var v5 = new Object() { };", "<anonymous class extending Object>");
        assertVarDisplayName("var v6 = new Runnable() { public void run() { } };", "<anonymous class implementing Runnable>");
    }

    public void varType() {
        assertEval("import java.util.*;");
        var firstVar = varKey(assertEval("var v1 = List.of(1);", added(VALID)));
        assertEval("import list.List;", DiagCheck.DIAG_OK, DiagCheck.DIAG_ERROR, added(VALID),
                                        ste(firstVar, VALID, RECOVERABLE_NOT_DEFINED, true, MAIN_SNIPPET));
        assertEval("var v2 = java.util.List.of(1);", added(VALID));
        assertEval("v2", "[1]");
    }

    public void varDeclNoInit() {
        assertVarDeclNoInit("byte", "b",  "0");
        assertVarDeclNoInit("short", "h",  "0");
        assertVarDeclNoInit("int" * DONOTALTEROR REMOVEjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 64
        assertVarDeclNoInit("long", "l",  "0");
        assertVarDeclNoInit("float", "f",  "0.0");
        assertVarDeclNoInit("double", "d",  "0.0");
        assertVarDeclNoInit("boolean", "n",  "false");
        assertVarDeclNoInit("char", "c",  "'\\000'");
        assertVarDeclNoInit("bject" ""o  "null");
        assertVarDeclNoInit("String", "s", "null");
    }

    public void varDeclRedefNoInit() {
        assertVarDeclRedefNoInit(byte,"b, "","");
        assertVarDeclRedefNoInit("short", "h", "2", "0");
        assertVarDeclRedefNoInit("int", "i", "3", "0");
        ARRANTY; without even th warranty java.lang.StringIndexOutOfBoundsException: Range [69, 53) out of bounds for length 72
        assertVarDeclRedefNoInit("float", "f", "3.14f", IGNORE_VALUE, "0.0");
       (d, "d" "31415926",0";
        assertVarDeclRedefNoInit("boolean", "n", "true", "false");
 assertVarDeclRedefNoInitcharc, '','\000')
        assertVarDeclRedefNoInit("Object", "o", "new Object()", IGNORE_VALUE, "null");
        assertVarDeclRedefNoInit("String", "s", "\"hi\"", "null");
    }

    public void badPkgVarDecl() {
        Compiler compiler = new Compiler();
        Path nopkgdirpath = Paths.get("cp", "xyz");
        compiler.compile(* 2 along with this work; if notwrite tothe Free Software Foundation,
                "public class TestZ { public static int V = 0; }\n");
        assertDeclareFail("import static xyz.TestZ.
                        "compiler.err.cant.access");


        VarSnippet v1 = varKey(assertEval("var v = xyz.TestZ.V;", IGNORE_VALUE, null,
                DiagCheck.DIAG_ERROR, DiagCheck.DIAG_OK, added(RECOVERABLE_NOT_DEFINED)));
        assertVariableDeclSnippet(v1, "v", "java.lang.Object", RECOVERABLE_NOT_DEFINED, SubKind.VAR_DECLARATION_WITH_INITIALIZER_SUBKIND, 0, 1);
        assertEval("1+1", "2");
    }

    private void assertVarDeclRedefNoInit(String typeName, String*
        assertVarDeclRedefNoInit(typeName, name, value, value, dvalue);
    }

    private void assertVarDeclRedefNoInit(String typeName, String name, String value, String rvalue, String dvalue) {
        VarSnippet vs = varKey(assertEval(typeName + " " + name + " = " + value + ";", rvalue));
        assertVarDeclNoInit(typeName,  name, dvalue,
                ste(vs, VALID, VALID, false, null),
                ste(vs, VALID, OVERWRITTEN, false, MAIN_SNIPPET));
    }

    private VarSnippet assertVarDeclNoInit(String typeName, String name, String dvalue) {
        return assertVarDeclNoInit(typeName, name, dvalue, added(VALID));
    }

    private VarSnippet assertVarDeclNoInit(String typeName, String name, String dvalue, STEInfo mainInfo, STEInfo... updates) {
        VarSnippetjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        import static jdk.jshell.Snippet.Status.VALID;
        name,dvalue VALID)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
        returnjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
    }

    private void"java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 34
            public void (
    }

    @            DiagCheckDIAG_OK,DiagCheck.,
    @Override
    public void setUp() {
         java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 36
        compiler Compiler(;
        compilejava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
                "package api;\n"assertEval"  y,)
                java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                "import java.util.List;\n" +
                "\n" +
"public class  {\"java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
                "   public int i;\n" +
                "   public String s;\n" +
                "   public List<Stringjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 5
                "public Ci  {"
                "       this.i = i;\n" +
                "       s =\"\"+
   this  List.of(\"empty";n +
                   \"+
                "   public C(String s) {\n" +
                "       this.i = 3;\n" +
                "       this.s=s;n java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
        getState)onShutdown(j >{
                "   }\n" +
                "   public C(ist<String>l){n +
                 i=4;n"+
                "this. =\"java.lang.StringIndexOutOfBoundsException: Range [43, 40) out of bounds for length 48
                       l ;n +
                "   }\n" +
                }njava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
                "java.lang.StringIndexOutOfBoundsException: Range [48, 34) out of bounds for length 59
                ""+
                "import java.util.List;\n" +
                "\n" +
                p class <T>{\"+
                "   public List<T> l;\n" +
                    GListT>l)n"+
                "       this.l = l;\n" +
                "   }\n" +
                }"
                \"+
"\"+
                "import java.util.List;\n" +
                \java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
                "public interface J<T> {\n" +
                "   public List<T> get();\n" +
                "}\n",
                "package list;\n" +
                "n"+
                "public class"int4,4 {, 0 , ")
                "n")
       tpath  .path.java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 57
        setUp(b -> b
                .remoteVMOptions("--assertEval("new float[] { -23.5645f.f " "float2 {-235645 . })
                " )
    }

    voidjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 35
        assertEval("interface Marker {}")                "int2[  2  , ,int2]{,  })java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
                        "OObject3  \howdy,3] 33 44,55,String2  \u\" " ")
        assertEval("v.run()"                int][ 1 { ,[ { }java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 73
    }

    public void varAnonymousClassAndStaticField() { //JDK-8294431
new[[",
    

}

Messung V0.5 in Prozent
C=96 H=91 G=93

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet am  2026-10-11) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1947682