Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.5.7
-
Fix Version/s: None
-
Component/s: Compiler
-
Labels:None
-
Environment:Ubuntu 8.10
-
Number of attachments :
Description
After some refactoring I started to get the following exception during compilation:
/home/yegor/caiss/caiss-stat2/with-sage/nbproject/groovy-compile-impl.xml:30: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, General error during semantic analysis: Type INode not present
java.lang.TypeNotPresentException: Type INode not present
at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:98)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:107)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
at sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:50)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:120)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
at sun.reflect.generics.repository.MethodRepository.getReturnType(MethodRepository.java:50)
at java.lang.reflect.Method.getGenericReturnType(Method.java:231)
at org.codehaus.groovy.vmplugin.v5.Java5.configureClassNode(Java5.java:163)
at org.codehaus.groovy.ast.ClassNode.lazyClassInit(ClassNode.java:209)
at org.codehaus.groovy.ast.ClassNode.getDeclaredMethods(ClassNode.java:689)
at org.codehaus.groovy.ast.ClassNode.getMethods(ClassNode.java:701)
at org.codehaus.groovy.ast.ClassNode.getMethods(ClassNode.java:703)
at org.codehaus.groovy.ast.ClassNode.hasPossibleStaticMethod(ClassNode.java:1021)
at org.codehaus.groovy.control.StaticImportVisitor.transformMethodCallExpression(StaticImportVisitor.java:130)
at org.codehaus.groovy.control.StaticImportVisitor.transform(StaticImportVisitor.java:67)
at org.codehaus.groovy.control.StaticImportVisitor.transformMethodCallExpression(StaticImportVisitor.java:108)
at org.codehaus.groovy.control.StaticImportVisitor.transform(StaticImportVisitor.java:67)
at org.codehaus.groovy.ast.expr.BinaryExpression.transformExpression(BinaryExpression.java:53)
at org.codehaus.groovy.control.StaticImportVisitor.transform(StaticImportVisitor.java:89)
at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:148)
at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40)
at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:129)
at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:52)
at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitIfElse(ClassCodeExpressionTransformer.java:84)
at org.codehaus.groovy.ast.stmt.IfStatement.visit(IfStatement.java:41)
at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:129)
at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:52)
at org.codehaus.groovy.ast.CodeVisitorSupport.visitTryCatchFinally(CodeVisitorSupport.java:76)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitTryCatchFinally(ClassCodeVisitorSupport.java:194)
at org.codehaus.groovy.ast.stmt.TryCatchStatement.visit(TryCatchStatement.java:42)
at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:129)
at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:52)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:73)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:80)
at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:53)
at org.codehaus.groovy.control.StaticImportVisitor.visitConstructorOrMethod(StaticImportVisitor.java:54)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:88)
at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:907)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:48)
at org.codehaus.groovy.control.StaticImportVisitor.visitClass(StaticImportVisitor.java:49)
at org.codehaus.groovy.control.CompilationUnit$6.call(CompilationUnit.java:538)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:885)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:436)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:417)
at org.codehaus.groovy.ant.Groovyc.compile(Groovyc.java:685)
at org.codehaus.groovy.ant.Groovyc.execute(Groovyc.java:541)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:277)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:461)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:151)
Caused by: java.lang.ClassNotFoundException: INode
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1383)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1324)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1072)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:95)
... 64 more
1 error
BUILD FAILED (total time: 0 seconds)
I have the following graph of inheritance:
abstract class Node extends Observable implements INode
class SageNode extends Node
If I change it to
abstract class SageNode implements INode
it compiles but, of course, does not help me.
unlike http://www.nabble.com/Test-fails-td19536025.html,
I don't see any dependency on Java version, tried Java 5, Sun Java 6 and OpenJDK 6.
Issue Links
- is depended upon by
-
GROOVY-3500
Exception running integration tests against service classes that return generics
-
Here is a test case: http://caiss-stat.com/download/testcase.zip (5MB due to groovy-all jar)
In its current form it is an NB project, let me know if it is an inconvenience.
Steps to reproduce: download NB 6.5 RC2, from menu Tools/Plugins install "Groovy and Grails" plugin,
open the test case project, right click and choose "Open required modules", then build it, it'll fail with "type not present" error. Somewhere on the way to a minimal test case, it stopped printing the trace for some reason. Note, it is essential to have SageNode in a separate module.