Bug 108602 - org.aspectj.weaver.BCException: Bad type signature
Summary: org.aspectj.weaver.BCException: Bad type signature
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 1.5.0 M4   Edit
Assignee: Adrian Colyer CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-01 13:25 EDT by Reid Hartenbower CLA
Modified: 2005-09-02 05:37 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Reid Hartenbower CLA 2005-09-01 13:25:41 EDT
Interface with a method returning a typed collection and taking two boolean args
next to each other (try playing with order) produces error message at bottom
This might be duplicate of bug 86903.  Compiler is from today's (9/1 9:30am
Pacific time) cvs checkout.

/*
 * GenericsError.java
 *
 * Created on September 1, 2005, 9:36 AM
 *
 */

import java.util.Collection;

public interface GenericsError {
  public Collection<String> test(
      boolean arg1,
      boolean arg2,
      Object arg3) ;
}


/*
 * GenericsErrorImpl.java
 *
 * Created on September 1, 2005, 9:37 AM
 *
 */

import java.util.Collection;

public class GenericsErrorImpl implements GenericsError {

  public Collection<String> test(
      boolean arg1,
      boolean arg2,
      Object arg3)  { return null; }
 
}

trouble in:
public class GenericsErrorImpl extends java.lang.Object implements GenericsError:
  public void <init>():
                    ALOAD_0     // GenericsErrorImpl this   (line 19)
                    INVOKESPECIAL java.lang.Object.<init> ()V
    constructor-execution(void GenericsErrorImpl.<init>())
    |               RETURN
    constructor-execution(void GenericsErrorImpl.<init>())
  end public void <init>()

  public java.util.Collection test(boolean, boolean, Object):
    method-execution(java.util.Collection GenericsErrorImpl.test(boolean,
boolean, java.lang.Object))
    |               ACONST_NULL   (line 25)
    |               ARETURN
    method-execution(java.util.Collection GenericsErrorImpl.test(boolean,
boolean, java.lang.Object))
  end public java.util.Collection test(boolean, boolean, Object)

end public class GenericsErrorImpl
ABORT
       
Exception thrown from AspectJ DEVELOPMENT

This might be logged as a bug already -- find current bugs at
  http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler

Bugs for exceptions thrown have titles File:line from the top stack,
e.g., "SomeFile.java:243"

If you don't find the exception below in a bug, please add a new bug
at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
To make the bug a priority, please include a test program
that can reproduce this exception.
Bad type signature /
Bad type signature /
org.aspectj.weaver.BCException: Bad type signature /
        at org.aspectj.weaver.UnresolvedType.forSignature(UnresolvedType.java:425)
        at
org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.typeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:202)
        at
org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.typeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:189)
        at
org.aspectj.weaver.bcel.BcelMethod.unpackGenericSignature(BcelMethod.java:298)
        at
org.aspectj.weaver.bcel.BcelMethod.getGenericParameterTypes(BcelMethod.java:257)
        at
org.aspectj.weaver.ResolvedMemberImpl.matches(ResolvedMemberImpl.java:650)
        at
org.aspectj.weaver.ResolvedType.lookupResolvedMember(ResolvedType.java:350)
        at
org.aspectj.weaver.ResolvedMemberImpl.accumulateMembersMatching(ResolvedMemberImpl.java:212)
        at
org.aspectj.weaver.ResolvedMemberImpl.getJoinPointSignatures(ResolvedMemberImpl.java:166)
        at org.aspectj.weaver.MemberImpl.getJoinPointSignatures(MemberImpl.java:917)
        at
org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:150)
        at
org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:111)
        at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:151)
        at
org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:63)
        at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:151)
        at
org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:61)
        at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:151)
        at
org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:61)
        at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:151)
        at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:62)
        at org.aspectj.weaver.Advice.match(Advice.java:101)
        at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:1727)
        at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:1360)
        at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:381)
        at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:96)
        at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1372)
        at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1337)
        at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1114)
        at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1001)
        at
org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:286)
        at
org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:165)
        at
org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:70)
        at
org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:367)
        at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:728)
        at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:206)
        at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:140)
        at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
        at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
        at org.aspectj.tools.ajc.Main.run(Main.java:324)
        at org.aspectj.tools.ajc.Main.runMain(Main.java:238)
        at org.aspectj.tools.ajc.Main.main(Main.java:82)


1 fail|abort
Comment 1 Adrian Colyer CLA 2005-09-01 14:22:29 EDT
thanks for the clear bug report, I'll look into this tomorrow.
Rgds, Adrian.
Comment 2 Adrian Colyer CLA 2005-09-02 05:37:03 EDT
fix for this has now been committed into tree, will be available from AJ
downloads page in the next published build.