Skip to content

ajc fails when aspect is annotated with @Deprecated #316

Open
@lefou

Description

I added a @Deprecated annotation to an aspect and saw the following compiler error. Once I removed the annotation, the aspect compiles again.

mill module.kernel.compile
[355/355] module.kernel.compile 
Compiling 279 Java sources and 4 AspectJ sources to /home/lefou/work/tototec/iba/2017-Comfis/comfis/out/module/kernel/compile.dest ...
<Unknown> [warning] Found @DeclareAnnotation while current release does not support it (see 'org.aspectj.weaver.bcel.AtAjAttributes')

/home/lefou/work/tototec/iba/2017-Comfis/comfis/module/kernel/src/de/ibacg/cmfs/aspects/AbstractAccessRightsAspect.aj [error] Internal compiler error: java.lang.NullPointerException: Cannot invoke "org.aspectj.org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding.getAnnotationType()" because "annotationBinding" is null at org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemReporter.deprecatedSinceValue(ProblemReporter.java:2033)
(no source information available)
ABORT

Exception thrown from AspectJ 1.9.22

This might be logged as a bug already -- find current bugs at
  https://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 https://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.
Cannot invoke "org.aspectj.org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding.getAnnotationType()" because "annotationBinding" is null

when batch building BuildConfig[null] #Files=283 AopXmls=#0
Cannot invoke "org.aspectj.org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding.getAnnotationType()" because "annotationBinding" is null
java.lang.NullPointerException: Cannot invoke "org.aspectj.org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding.getAnnotationType()" because "annotationBinding" is null
        at org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemReporter.deprecatedSinceValue(ProblemReporter.java:2033)
        at org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemReporter.deprecatedType(ProblemReporter.java:1992)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeReference.reportDeprecatedType(TypeReference.java:601)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:562)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:637)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:633)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ClassLiteralAccess.resolveType(ClassLiteralAccess.java:86)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:906)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:855)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Assignment.resolveType(Assignment.java:227)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:1118)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:726)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:128)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:311)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:726)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:128)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:311)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement.resolveWithBindings(Statement.java:498)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveStatements(ASTNode.java:726)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:720)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:410)
        at org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration.resolveStatements(AdviceDeclaration.java:132)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:618)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1541)
        at org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.resolve(AspectDeclaration.java:116)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1670)
        at org.aspectj.org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:666)
        at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:919)
        at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:575)
        at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:475)
        at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1101)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:275)
        at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:188)
        at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:103)
        at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:47)
        at org.aspectj.tools.ajc.Main.run(Main.java:385)
        at org.aspectj.tools.ajc.Main.runMain(Main.java:274)
        at de.tobiasroeser.mill.aspectj.worker.impl.AspectjInJvmWorker.internalCompile(AspectjInJvmWorker.scala:79)
        at de.tobiasroeser.mill.aspectj.worker.impl.AspectjInJvmWorker.compile(AspectjInJvmWorker.scala:26)
        at de.tobiasroeser.mill.aspectj.AspectjModule.$anonfun$ajcTask$1(AspectjModule.scala:145)
        at mill.define.Task$TraverseCtx.evaluate(Task.scala:71)
        at mill.eval.GroupEvaluator.$anonfun$evaluateGroup$11(GroupEvaluator.scala:356)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withErr(Console.scala:193)
        at mill.api.SystemStreams$.$anonfun$withStreams$2(SystemStreams.scala:62)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withOut(Console.scala:164)
        at mill.api.SystemStreams$.$anonfun$withStreams$1(SystemStreams.scala:61)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at scala.Console$.withIn(Console.scala:227)
        at mill.api.SystemStreams$.withStreams(SystemStreams.scala:60)
        at mill.eval.GroupEvaluator.$anonfun$evaluateGroup$8(GroupEvaluator.scala:356)
        at mill.eval.GroupEvaluator.$anonfun$evaluateGroup$8$adapted(GroupEvaluator.scala:325)
        at scala.collection.immutable.Vector.foreach(Vector.scala:2124)
        at mill.eval.GroupEvaluator.computeAll$1(GroupEvaluator.scala:325)
        at mill.eval.GroupEvaluator.evaluateGroup(GroupEvaluator.scala:380)
        at mill.eval.GroupEvaluator.$anonfun$evaluateGroupCached$22(GroupEvaluator.scala:247)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.GroupEvaluator.$anonfun$evaluateGroupCached$2(GroupEvaluator.scala:238)
        at mill.eval.GroupEvaluator$synchronizedEval$.$anonfun$apply$1(GroupEvaluator.scala:65)
        at scala.util.Using$.resource(Using.scala:296)
        at mill.eval.GroupEvaluator$synchronizedEval$.apply(GroupEvaluator.scala:64)
        at mill.eval.GroupEvaluator.evaluateGroupCached(GroupEvaluator.scala:83)
        at mill.eval.GroupEvaluator.evaluateGroupCached$(GroupEvaluator.scala:71)
        at mill.eval.EvaluatorImpl.evaluateGroupCached(EvaluatorImpl.scala:15)
        at mill.eval.EvaluatorCore.$anonfun$evaluate0$2(EvaluatorCore.scala:116)
        at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:467)
        at mill.eval.ExecutionContexts$RunNow$.execute(ExecutionContexts.scala:14)
        at scala.concurrent.impl.Promise$Transformation.submitWithValue(Promise.scala:429)
        at scala.concurrent.impl.Promise$DefaultPromise.submitWithValue(Promise.scala:338)
        at scala.concurrent.impl.Promise$DefaultPromise.dispatchOrAddCallbacks(Promise.scala:312)
        at scala.concurrent.impl.Promise$DefaultPromise.map(Promise.scala:182)
        at mill.eval.EvaluatorCore.$anonfun$evaluate0$1(EvaluatorCore.scala:92)
        at mill.eval.EvaluatorCore.$anonfun$evaluate0$1$adapted(EvaluatorCore.scala:90)
        at scala.collection.immutable.Vector.foreach(Vector.scala:2124)
        at mill.eval.EvaluatorCore.evaluate0(EvaluatorCore.scala:90)
        at mill.eval.EvaluatorCore.$anonfun$evaluate$1(EvaluatorCore.scala:43)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.eval.EvaluatorCore.evaluate(EvaluatorCore.scala:34)
        at mill.eval.EvaluatorCore.evaluate$(EvaluatorCore.scala:26)
        at mill.eval.EvaluatorImpl.evaluate(EvaluatorImpl.scala:15)
        at mill.main.RunScript$.evaluateNamed(RunScript.scala:38)
        at mill.main.RunScript$.$anonfun$evaluateTasksNamed$2(RunScript.scala:26)
        at scala.util.Either.map(Either.scala:390)
        at mill.main.RunScript$.evaluateTasksNamed(RunScript.scala:26)
        at mill.runner.MillBuildBootstrap$.evaluateWithWatches(MillBuildBootstrap.scala:399)
        at mill.runner.MillBuildBootstrap.$anonfun$processFinalTargets$3(MillBuildBootstrap.scala:308)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
        at mill.runner.MillBuildBootstrap.processFinalTargets(MillBuildBootstrap.scala:308)
        at mill.runner.MillBuildBootstrap.evaluateRec(MillBuildBootstrap.scala:196)
        at mill.runner.MillBuildBootstrap.$anonfun$evaluate$1(MillBuildBootstrap.scala:49)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)

Juli 26, 2024 11:07:44 AM org.aspectj.weaver.tools.Jdk14Trace info
INFORMATION: Dumping to /home/lefou/work/tototec/iba/2017-Comfis/comfis/./ajcore.20240726.110744.754.txt

1 fail|abort, 1 error, 1 warning

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions