Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [jdt-apt-dev] Only getting RECONCILE calls to process()

The NPE in SourceTypeBinding is being tracked by the following bug:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=151364

If it's possible for you to submit a repro to that bug, that would be
extremely helpful to us. 

That's strange that you're having trouble accessing
EclipseAnnotationProcessorEnvironment. It is exported as API from our
plugin. Have you added the org.eclipse.jdt.apt.core plugin as a
dependency in your plugin.xml?


Thanks,
Jess Garms

-----Original Message-----
From: jdt-apt-dev-bounces@xxxxxxxxxxx
[mailto:jdt-apt-dev-bounces@xxxxxxxxxxx] On Behalf Of Emanuel Greisen
Sent: Tuesday, August 15, 2006 9:36 AM
To: Eclipse JDT Apt developers list.
Subject: Re: [jdt-apt-dev] Only getting RECONCILE calls to process()

It was a typo.

My AnnotationProcessor is a plugin, but I don't have access to the 
EclipseAnnotationProcessorEnvironment any-ways. And the quick-fix 
suggest I change what may/may not be accessed "change access rules...". 
But going where it leads me, I see that I cannot change this (it says 
"not modifiable". I have read/write access the the whole "eclipse" dir.


I have found the build problem now (I think). When running the "Java 
Builder" on my project I get errors in the ErrorLog:

java.lang.NullPointerException
    at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.storedAnnotat
ions(SourceTypeBinding.java:1434)
    at 
org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.storeAnnotatio
nHolder(ReferenceBinding.java:1125)
    at 
org.eclipse.jdt.internal.compiler.lookup.MethodBinding.<init>(MethodBind
ing.java:61)
    at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getUpdatedMet
hodBinding(SourceTypeBinding.java:1074)
    at 
org.eclipse.jdt.internal.compiler.ast.MessageSend.manageSyntheticAccessI
fNecessary(MessageSend.java:226)
    at 
org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseCode(MessageSen
d.java:63)
    at 
org.eclipse.jdt.internal.compiler.ast.ForeachStatement.analyseCode(Forea
chStatement.java:105)
    at 
org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.analyseCode(Meth
odDeclaration.java:84)
    at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.internalAnalyseCod
e(TypeDeclaration.java:673)
    at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.analyseCode(TypeDe
claration.java:256)
    at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.analyse
Code(CompilationUnitDeclaration.java:106)
    at
org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:597)
    at 
org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnit
Resolver.java:689)
    at 
org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnit
Resolver.java:466)
    at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:707)
    at 
org.eclipse.jdt.apt.core.internal.env.BaseProcessorEnv.createASTs(BasePr
ocessorEnv.java:820)
    at 
org.eclipse.jdt.apt.core.internal.env.BuildEnv.createASTs(BuildEnv.java:
381)
    at 
org.eclipse.jdt.apt.core.internal.env.AbstractCompilationEnv.newBuildEnv
(AbstractCompilationEnv.java:84)
    at 
org.eclipse.jdt.apt.core.internal.APTDispatchRunnable.build(APTDispatchR
unnable.java:223)
    at 
org.eclipse.jdt.apt.core.internal.APTDispatchRunnable.run(APTDispatchRun
nable.java:170)
    at 
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1737)
    at 
org.eclipse.jdt.apt.core.internal.APTDispatchRunnable.runAPTDuringBuild(
APTDispatchRunnable.java:86)
    at 
org.eclipse.jdt.apt.core.internal.AptCompilationParticipant.processAnnot
ations(AptCompilationParticipant.java:157)
    at 
org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.processAnnota
tions(AbstractImageBuilder.java:509)
    at 
org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(Abstr
actImageBuilder.java:274)
    at 
org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImage
Builder.java:59)
    at 
org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.j
ava:249)
    at 
org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java
:174)
    at 
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:60
7)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.ja
va:162)
    at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.ja
va:196)
    at 
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:22
5)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.ja
va:228)
    at 
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManage
r.java:247)
    at 
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:28
0)
    at 
org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:
145)
    at 
org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:208)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)



So I guess this is why the JDT-APT is never run at BUILD phase, it 
simply fails with a silent NullPointerException. The weird thing is that

none of the other projects fail this way.

./Emanuel
_______________________________________________________________________
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.


Back to the top