[jboss-jira] [JBoss JIRA] (JASSIST-223) Failed to transform class with name ... Reason: [source error] incompatible type for =
Shigeru Chiba (JIRA)
issues at jboss.org
Sat May 10 00:53:56 EDT 2014
[ https://issues.jboss.org/browse/JASSIST-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12966924#comment-12966924 ]
Shigeru Chiba commented on JASSIST-223:
---------------------------------------
SigPadApi class has several fields named "a" but of different types.
This is a reason that Javassist does not handle it.
Is it allowed to define multiple fields with the same name?
> Failed to transform class with name ... Reason: [source error] incompatible type for =
> ---------------------------------------------------------------------------------------
>
> Key: JASSIST-223
> URL: https://issues.jboss.org/browse/JASSIST-223
> Project: Javassist
> Issue Type: Bug
> Affects Versions: 3.18.1-GA
> Environment: Powermock 1.5.4 and Easymock 3.2
> Reporter: TeeWe Tee
> Assignee: Shigeru Chiba
> Attachments: PowerMock.zip, SigPadApi.class, Tester.java
>
>
> During the usage of powermock and the mocking of a class the exception below occurs. Since this is a javaassist issue I write it here.
> Any hints about the problem? Any help will be appreciated.
> java.lang.IllegalStateException: Failed to transform class with name com.company.someClass. Reason: [source error] incompatible type for =
> at org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:214)
> at org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:144)
> at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:67)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:249)
> at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:95)
> at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:107)
> at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
> at sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:370)
> at sun.reflect.annotation.AnnotationParser.parseClassValue(AnnotationParser.java:351)
> at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:653)
> at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:460)
> at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:286)
> at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222)
> at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
> at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
> at java.lang.Class.initAnnotationsIfNecessary(Class.java:3127)
> at java.lang.Class.getAnnotation(Class.java:3086)
> at org.junit.internal.MethodSorter.getDeclaredMethods(MethodSorter.java:52)
> at org.junit.internal.runners.TestClass.getAnnotatedMethods(TestClass.java:45)
> at org.junit.internal.runners.MethodValidator.validateTestMethods(MethodValidator.java:71)
> at org.junit.internal.runners.MethodValidator.validateStaticMethods(MethodValidator.java:44)
> at org.junit.internal.runners.MethodValidator.validateMethodsForDefaultRunner(MethodValidator.java:50)
> at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.validate(PowerMockJUnit44RunnerDelegateImpl.java:108)
> at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.<init>(PowerMockJUnit44RunnerDelegateImpl.java:70)
> at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl.<init>(PowerMockJUnit47RunnerDelegateImpl.java:42)
> at org.powermock.modules.junit4.internal.impl.PowerMockJUnit49RunnerDelegateImpl.<init>(PowerMockJUnit49RunnerDelegateImpl.java:25)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:149)
> at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:39)
> at org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.createTestDelegators(AbstractTestSuiteChunkerImpl.java:217)
> at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.<init>(JUnit4TestSuiteChunkerImpl.java:59)
> at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.<init>(AbstractCommonPowerMockRunner.java:32)
> at org.powermock.modules.junit4.PowerMockRunner.<init>(PowerMockRunner.java:33)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)
> at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)
> at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
> at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
> at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
> at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: javassist.CannotCompileException: [source error] incompatible type for =
> at javassist.expr.FieldAccess.replace(FieldAccess.java:216)
> at org.powermock.core.transformers.impl.MainMockTransformer$PowerMockExpressionEditor.edit(MainMockTransformer.java:274)
> at javassist.expr.ExprEditor.loopBody(ExprEditor.java:198)
> at javassist.expr.ExprEditor.doit(ExprEditor.java:91)
> at javassist.CtClassType.instrument(CtClassType.java:1398)
> at org.powermock.core.transformers.impl.MainMockTransformer.transform(MainMockTransformer.java:74)
> at org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:210)
> ... 55 more
> Caused by: compile error: incompatible type for =
> at javassist.compiler.CodeGen.badAssign(CodeGen.java:770)
> at javassist.compiler.CodeGen.atAssignCore(CodeGen.java:863)
> at javassist.compiler.CodeGen.atVariableAssign(CodeGen.java:793)
> at javassist.compiler.CodeGen.atAssignExpr(CodeGen.java:747)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:332)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
> at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:405)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
> at javassist.compiler.Javac.compileStmnt(Javac.java:569)
> at javassist.expr.FieldAccess.replace(FieldAccess.java:210)
> ... 61 more
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)
More information about the jboss-jira
mailing list