- 
    Bug 
- 
    Resolution: Fixed
- 
     P4 P4
- 
    9
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8142252 | emb-9 | Maurizio Cimadamore | P4 | Resolved | Fixed | team | 
                    When I compile bitwise operations with illegal operand types, I got NPE:
class Main
{
public static void main (String[] args)
{
int x = 0;
double d = 0;
System.out.println(x & d);
}
}
java.lang.NullPointerException
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitApply(Flow.java:1237)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1598)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.tree.TreeScanner.visitExec(TreeScanner.java:178)
at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1416)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitBlock(Flow.java:999)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:984)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitMethodDef(Flow.java:966)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:836)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitClassDef(Flow.java:929)
at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:744)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.analyzeTree(Flow.java:1325)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.analyzeTree(Flow.java:1315)
at com.sun.tools.javac.comp.Flow.analyzeTree(Flow.java:212)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1297)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1266)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:871)
at com.sun.tools.javac.main.Main.compile(Main.java:254)
at com.sun.tools.javac.main.Main.compile(Main.java:142)
at com.sun.tools.javac.Main.compile(Main.java:56)
at com.sun.tools.javac.Main.main(Main.java:42)
This issue is related to http://hg.openjdk.java.net/jdk9/dev/langtools/rev/098657cc98c9
            
class Main
{
public static void main (String[] args)
{
int x = 0;
double d = 0;
System.out.println(x & d);
}
}
java.lang.NullPointerException
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitApply(Flow.java:1237)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1598)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.tree.TreeScanner.visitExec(TreeScanner.java:178)
at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1416)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitBlock(Flow.java:999)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:984)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitMethodDef(Flow.java:966)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:836)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitClassDef(Flow.java:929)
at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:744)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:404)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.analyzeTree(Flow.java:1325)
at com.sun.tools.javac.comp.Flow$FlowAnalyzer.analyzeTree(Flow.java:1315)
at com.sun.tools.javac.comp.Flow.analyzeTree(Flow.java:212)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1297)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1266)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:871)
at com.sun.tools.javac.main.Main.compile(Main.java:254)
at com.sun.tools.javac.main.Main.compile(Main.java:142)
at com.sun.tools.javac.Main.compile(Main.java:56)
at com.sun.tools.javac.Main.main(Main.java:42)
This issue is related to http://hg.openjdk.java.net/jdk9/dev/langtools/rev/098657cc98c9
- backported by
- 
                    JDK-8142252 Compiler crashes when compiling bitwise operations with illegal operand types -           
- Resolved
 
-         
- duplicates
- 
                    JDK-8139242 compiler crashes with exception on bitwise operations of different size privitive numeric types -           
- Closed
 
-         
- relates to
- 
                    JDK-8139249 Compiler crashes on unary bitwise complement with non-integral operand -           
- Closed
 
-