Created
April 14, 2011 11:18
-
-
Save benpage26/919284 to your computer and use it in GitHub Desktop.
Possible Bug in Java Compiler
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package org.xron.sandbox; | |
import java.io.Serializable; | |
import java.util.ArrayList; | |
import java.util.Date; | |
public class Test2 { | |
public static class FilterValue implements Serializable { | |
/** | |
* | |
*/ | |
private static final long serialVersionUID = 2697173192225900883L; | |
private Number number; | |
private String string; | |
private Boolean bool; | |
private Date date; | |
private ArrayList list; | |
public Object getValue() { | |
return | |
number != null ? number : | |
string != null ? string : | |
bool != null ? bool : | |
date != null ? date : | |
list != null ? list : | |
null; | |
} | |
public FilterValue() {} | |
public FilterValue(Object o) { | |
if (o instanceof Number) | |
number = (Number)o; | |
else if (o instanceof String) | |
string = (String)o; | |
else if (o instanceof Boolean) | |
bool = (Boolean)o; | |
else if (o instanceof Date) | |
date = (Date)o; | |
else if (o != null) { | |
throw new Error("Failed to store filtervalue - unknown type: "+o.getClass()); | |
} | |
} | |
@Override | |
public int hashCode() { | |
final int prime = 31; | |
int result = 1; | |
result = prime * result + ((bool == null) ? 0 : bool.hashCode()); | |
result = prime * result + ((date == null) ? 0 : date.hashCode()); | |
result = prime * result | |
+ ((number == null) ? 0 : number.hashCode()); | |
result = prime * result | |
+ ((string == null) ? 0 : string.hashCode()); | |
return result; | |
} | |
@Override | |
public boolean equals(Object obj) { | |
if (this == obj) | |
return true; | |
if (obj == null) | |
return false; | |
if (getClass() != obj.getClass()) | |
return false; | |
FilterValue other = (FilterValue) obj; | |
if (bool == null) { | |
if (other.bool != null) | |
return false; | |
} else if (!bool.equals(other.bool)) | |
return false; | |
if (date == null) { | |
if (other.date != null) | |
return false; | |
} else if (!date.equals(other.date)) | |
return false; | |
if (number == null) { | |
if (other.number != null) | |
return false; | |
} else if (!number.equals(other.number)) | |
return false; | |
if (string == null) { | |
if (other.string != null) | |
return false; | |
} else if (!string.equals(other.string)) | |
return false; | |
return true; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[INFO] ------------------------------------------------------------- | |
[ERROR] COMPILATION ERROR : | |
[INFO] ------------------------------------------------------------- | |
[ERROR] Failure executing javac, but could not parse the error: | |
An exception has occurred in the compiler (1.6.0_20). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. | |
java.lang.AssertionError | |
at com.sun.tools.javac.jvm.Code$State.forceStackTop(Code.java:1688) | |
at com.sun.tools.javac.jvm.Gen.visitConditional(Gen.java:1679) | |
at com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1021) | |
at com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:818) | |
at com.sun.tools.javac.jvm.Gen.visitConditional(Gen.java:1678) | |
at com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1021) | |
at com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:818) | |
at com.sun.tools.javac.jvm.Gen.visitConditional(Gen.java:1678) | |
at com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1021) | |
at com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:818) | |
at com.sun.tools.javac.jvm.Gen.visitReturn(Gen.java:1626) | |
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1138) | |
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:665) | |
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:700) | |
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:686) | |
at com.sun.tools.javac.jvm.Gen.genStats(Gen.java:737) | |
at com.sun.tools.javac.jvm.Gen.visitBlock(Gen.java:1013) | |
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:739) | |
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:665) | |
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:700) | |
at com.sun.tools.javac.jvm.Gen.genMethod(Gen.java:893) | |
at com.sun.tools.javac.jvm.Gen.visitMethodDef(Gen.java:866) | |
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:639) | |
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:665) | |
at com.sun.tools.javac.jvm.Gen.genClass(Gen.java:2198) | |
at com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:617) | |
at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1289) | |
at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1259) | |
at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:765) | |
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:730) | |
at com.sun.tools.javac.main.Main.compile(Main.java:353) | |
at com.sun.tools.javac.main.Main.compile(Main.java:279) | |
at com.sun.tools.javac.main.Main.compile(Main.java:270) | |
at com.sun.tools.javac.Main.compile(Main.java:87) | |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | |
at java.lang.reflect.Method.invoke(Method.java:597) | |
at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess(JavacCompiler.java:554) | |
at org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.java:161) | |
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:605) | |
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) | |
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) | |
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195) | |
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) | |
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140) | |
at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:351) | |
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:185) | |
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) | |
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140) | |
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) | |
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) | |
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) | |
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) | |
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:314) | |
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:151) | |
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:445) | |
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:168) | |
at org.apache.maven.cli.MavenCli.main(MavenCli.java:132) | |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | |
at java.lang.reflect.Method.invoke(Method.java:597) | |
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) | |
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) | |
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) | |
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) | |
[INFO] 1 error | |
[INFO] ------------------------------------------------------------- | |
[INFO] ------------------------------------------------------------------------ | |
[INFO] BUILD FAILURE | |
[INFO] ------------------------------------------------------------------------ | |
[INFO] Total time: 13.268s | |
[INFO] Finished at: Thu Apr 14 12:16:54 BST 2011 | |
[INFO] Final Memory: 38M/292M | |
[INFO] ------------------------------------------------------------------------ | |
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project range: Compilation failure | |
[ERROR] Failure executing javac, but could not parse the error: | |
[ERROR] An exception has occurred in the compiler (1.6.0_20). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. | |
[ERROR] java.lang.AssertionError | |
[ERROR] at com.sun.tools.javac.jvm.Code$State.forceStackTop(Code.java:1688) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.visitConditional(Gen.java:1679) | |
[ERROR] at com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1021) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:818) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.visitConditional(Gen.java:1678) | |
[ERROR] at com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1021) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:818) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.visitConditional(Gen.java:1678) | |
[ERROR] at com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1021) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:818) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.visitReturn(Gen.java:1626) | |
[ERROR] at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1138) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:665) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:700) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:686) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genStats(Gen.java:737) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.visitBlock(Gen.java:1013) | |
[ERROR] at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:739) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:665) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:700) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genMethod(Gen.java:893) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.visitMethodDef(Gen.java:866) | |
[ERROR] at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:639) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:665) | |
[ERROR] at com.sun.tools.javac.jvm.Gen.genClass(Gen.java:2198) | |
[ERROR] at com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:617) | |
[ERROR] at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1289) | |
[ERROR] at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1259) | |
[ERROR] at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:765) | |
[ERROR] at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:730) | |
[ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:353) | |
[ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:279) | |
[ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:270) | |
[ERROR] at com.sun.tools.javac.Main.compile(Main.java:87) | |
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | |
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | |
[ERROR] at java.lang.reflect.Method.invoke(Method.java:597) | |
[ERROR] at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess(JavacCompiler.java:554) | |
[ERROR] at org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.java:161) | |
[ERROR] at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:605) | |
[ERROR] at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) | |
[ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) | |
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195) | |
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) | |
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140) | |
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:351) | |
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:185) | |
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) | |
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140) | |
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) | |
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) | |
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) | |
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) | |
[ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:314) | |
[ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:151) | |
[ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:445) | |
[ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:168) | |
[ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:132) | |
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | |
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | |
[ERROR] at java.lang.reflect.Method.invoke(Method.java:597) | |
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) | |
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) | |
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) | |
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) | |
[ERROR] -> [Help 1] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment