Closed GoogleCodeExporter closed 9 years ago
Thank you for the report.
For our developers:
I have reproduced this both on the internal type variable fixes repo and the
mainline.
Original comment by Jonathan...@gmail.com
on 17 Feb 2015 at 6:47
Here's another test case - slightly different error, but same sort of problem
(generic of generic). Gives these erorrs --
error: SourceChecker.typeProcess: unexpected Throwable
(IndexOutOfBoundsException) while processing ZZ.java; message: Index: 1, Size: 1
Compilation unit: ZZ.java
Exception: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1; Stack trace: com.sun.tools.javac.util.List.get(List.java:476)
org.checkerframework.common.basetype.BaseTypeVisitor.checkTypeArguments(BaseTypeVisitor.java:1900)
org.checkerframework.common.basetype.BaseTypeValidator.visitParameterizedType(BaseTypeValidator.java:288)
org.checkerframework.common.basetype.BaseTypeValidator.visitDeclared(BaseTypeValidator.java:118)
org.checkerframework.common.basetype.BaseTypeValidator.visitDeclared(BaseTypeValidator.java:40)
org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedDeclaredType.accept(AnnotatedTypeMirror.java:998)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.scan(AnnotatedTypeScanner.java:99)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.scan(AnnotatedTypeScanner.java:116)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.visitDeclared(AnnotatedTypeScanner.java:142)
org.checkerframework.common.basetype.BaseTypeValidator.visitDeclared(BaseTypeValidator.java:90)
org.checkerframework.common.basetype.BaseTypeValidator.visitDeclared(BaseTypeValidator.java:40)
org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedDeclaredType.accept(AnnotatedTypeMirror.java:998)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.scan(AnnotatedTypeScanner.java:99)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.visit(AnnotatedTypeScanner.java:89)
org.checkerframework.common.basetype.BaseTypeValidator.isValid(BaseTypeValidator.java:71)
org.checkerframework.common.basetype.BaseTypeVisitor.validateTypeOf(BaseTypeVisitor.java:2815)
org.checkerframework.common.basetype.BaseTypeVisitor.visitVariable(BaseTypeVisitor.java:766)
org.checkerframework.checker.initialization.InitializationVisitor.visitVariable(InitializationVisitor.java:174)
org.checkerframework.checker.initialization.InitializationVisitor.visitVariable(InitializationVisitor.java:57)
com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:864)
com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:257)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:168)
com.sun.source.util.TreeScanner.scan(TreeScanner.java:91)
com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:162)
org.checkerframework.checker.initialization.InitializationVisitor.visitBlock(InitializationVisitor.java:282)
org.checkerframework.checker.initialization.InitializationVisitor.visitBlock(InitializationVisitor.java:57)
com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:918)
com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:257)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:168)
com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:81)
com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:144)
org.checkerframework.common.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java:442)
org.checkerframework.checker.initialization.InitializationVisitor.visitMethod(InitializationVisitor.java:372)
org.checkerframework.checker.initialization.InitializationVisitor.visitMethod(InitializationVisitor.java:57)
com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:800)
com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:257)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:168)
com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:81)
com.sun.source.util.TreeScanner.scan(TreeScanner.java:91)
com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:99)
com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:133)
org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:307)
org.checkerframework.checker.initialization.InitializationVisitor.visitClass(InitializationVisitor.java:314)
org.checkerframework.checker.initialization.InitializationVisitor.visitClass(InitializationVisitor.java:57)
com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:720)
com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:50)
org.checkerframework.framework.source.SourceVisitor.visit(SourceVisitor.java:70)
org.checkerframework.framework.source.SourceChecker.typeProcess(SourceChecker.java:823)
org.checkerframework.common.basetype.BaseTypeChecker.typeProcess(BaseTypeChecker.java:412)
org.checkerframework.framework.source.AggregateChecker.typeProcess(AggregateChecker.java:123)
org.checkerframework.javacutil.AbstractTypeProcessor$AttributionTaskListener.finished(AbstractTypeProcessor.java:205)
com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:681)
com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:111)
com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1342)
com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1296)
com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:901)
com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:860)
com.sun.tools.javac.main.Main.compile(Main.java:523)
com.sun.tools.javac.main.Main.compile(Main.java:381)
com.sun.tools.javac.main.Main.compile(Main.java:370)
com.sun.tools.javac.main.Main.compile(Main.java:361)
com.sun.tools.javac.Main.compile(Main.java:56)
com.sun.tools.javac.Main.main(Main.java:42)
error: SourceChecker.typeProcess: unexpected Throwable
(IndexOutOfBoundsException) while processing ZZ.java; message: Index: 1, Size: 1
Compilation unit: ZZ.java
Exception: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1; Stack trace: com.sun.tools.javac.util.List.get(List.java:476)
org.checkerframework.common.basetype.BaseTypeVisitor.checkTypeArguments(BaseTypeVisitor.java:1900)
org.checkerframework.common.basetype.BaseTypeValidator.visitParameterizedType(BaseTypeValidator.java:288)
org.checkerframework.common.basetype.BaseTypeValidator.visitDeclared(BaseTypeValidator.java:118)
org.checkerframework.checker.nullness.KeyForVisitor$KeyForTypeValidator.visitDeclared(KeyForVisitor.java:233)
org.checkerframework.checker.nullness.KeyForVisitor$KeyForTypeValidator.visitDeclared(KeyForVisitor.java:190)
org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedDeclaredType.accept(AnnotatedTypeMirror.java:998)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.scan(AnnotatedTypeScanner.java:99)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.scan(AnnotatedTypeScanner.java:116)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.visitDeclared(AnnotatedTypeScanner.java:142)
org.checkerframework.common.basetype.BaseTypeValidator.visitDeclared(BaseTypeValidator.java:90)
org.checkerframework.checker.nullness.KeyForVisitor$KeyForTypeValidator.visitDeclared(KeyForVisitor.java:233)
org.checkerframework.checker.nullness.KeyForVisitor$KeyForTypeValidator.visitDeclared(KeyForVisitor.java:190)
org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedDeclaredType.accept(AnnotatedTypeMirror.java:998)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.scan(AnnotatedTypeScanner.java:99)
org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.visit(AnnotatedTypeScanner.java:89)
org.checkerframework.common.basetype.BaseTypeValidator.isValid(BaseTypeValidator.java:71)
org.checkerframework.common.basetype.BaseTypeVisitor.validateTypeOf(BaseTypeVisitor.java:2815)
org.checkerframework.common.basetype.BaseTypeVisitor.visitVariable(BaseTypeVisitor.java:766)
org.checkerframework.common.basetype.BaseTypeVisitor.visitVariable(BaseTypeVisitor.java:168)
com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:864)
com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:257)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:168)
com.sun.source.util.TreeScanner.scan(TreeScanner.java:91)
com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:162)
com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:918)
com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:257)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:168)
com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:81)
com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:144)
org.checkerframework.common.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java:442)
org.checkerframework.common.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java:168)
com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:800)
com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:257)
org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:168)
com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:81)
com.sun.source.util.TreeScanner.scan(TreeScanner.java:91)
com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:99)
com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:133)
org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:307)
org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:168)
com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:720)
com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:50)
org.checkerframework.framework.source.SourceVisitor.visit(SourceVisitor.java:70)
org.checkerframework.framework.source.SourceChecker.typeProcess(SourceChecker.java:823)
org.checkerframework.common.basetype.BaseTypeChecker.typeProcess(BaseTypeChecker.java:412)
org.checkerframework.framework.source.AggregateChecker.typeProcess(AggregateChecker.java:123)
org.checkerframework.javacutil.AbstractTypeProcessor$AttributionTaskListener.finished(AbstractTypeProcessor.java:205)
com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:681)
com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:111)
com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1342)
com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1296)
com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:901)
com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:860)
com.sun.tools.javac.main.Main.compile(Main.java:523)
com.sun.tools.javac.main.Main.compile(Main.java:381)
com.sun.tools.javac.main.Main.compile(Main.java:370)
com.sun.tools.javac.main.Main.compile(Main.java:361)
com.sun.tools.javac.Main.compile(Main.java:56)
com.sun.tools.javac.Main.main(Main.java:42)
2 errors
Original comment by rlen...@gmail.com
on 18 Feb 2015 at 10:35
Attachments:
Original comment by Jonathan...@gmail.com
on 26 Feb 2015 at 12:16
This issue has been fixed and pushed to the google code repository.
The release that is happening at the beginning of next month will include this
fix.
Thank you for the report and please let us know if you experience any other
errors.
Original comment by Jonathan...@gmail.com
on 26 Feb 2015 at 12:21
Original comment by jtha...@cs.washington.edu
on 2 Mar 2015 at 11:57
Original issue reported on code.google.com by
rlen...@gmail.com
on 17 Feb 2015 at 6:23Attachments: