langtools/test/tools/javac/lambda/methodReference/MethodRefToInnerWithoutOuter.java
author sadayapalam
Fri, 29 May 2015 09:15:42 +0530
changeset 30998 9e8f3b991f97
permissions -rw-r--r--
8081271: NPE while compiling a program with erroneous use of constructor reference expressions Summary: Missing enclosing instance error should not be swallowed when attributing constructor reference expressions. Reviewed-by: mcimadamore, vromero
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30998
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
     1
/*
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
     3
 * @bug 8081271
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
     4
 * @summary NPE while compiling a program with erroneous use of constructor reference expressions.
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
     5
 * @compile/fail/ref=MethodRefToInnerWithoutOuter.out -XDrawDiagnostics MethodRefToInnerWithoutOuter.java
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
     6
*/
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
     7
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
     8
import java.util.List;
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
     9
import java.util.ArrayList;
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    10
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    11
class MethodRefToInnerBase {
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    12
    class TestString {
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    13
        String str;
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    14
        TestString(String strin) {
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    15
            str = strin;
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    16
        }
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    17
    }
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    18
}
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    19
public class MethodRefToInnerWithoutOuter extends MethodRefToInnerBase {
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    20
    public static void main(String[] args) {
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    21
        List<String> list = new ArrayList<>();
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    22
        list.stream().forEach(TestString::new);
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    23
    }
9e8f3b991f97 8081271: NPE while compiling a program with erroneous use of constructor reference expressions
sadayapalam
parents:
diff changeset
    24
}