Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] java.lang.VerifyError attempting to construct an object with ITD that extends a generic class

The following code will crash upon execution:

 

package bugs;

 

class GenericClass< K > {

          public void f() {}

}

class ExtendsGenericHasITD extends GenericClass< Object > {}

 

aspect VerifyError {

          public void ExtendsGenericHasITD.f() {

                   super.f();

          }

          public static void main( String[] args ) {

                   new ExtendsGenericHasITD();

          }

}

 

The error message is:

 

Exception in thread "main" java.lang.VerifyError: (class: bugs/ExtendsGenericHasITD, method: ajc$superDispatch$bugs_ExtendsGenericHasITD$f signature: ()V) Illegal use of nonvirtual function call

          at bugs.VerifyError.main(ExtendsGenericHasITD.aj:13)

 

Code runs without error if you change the class declaration to

 

class ExtendsGenericHasITD extends GenericClass {}

 

Josh


Back to the top