This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 174320 - Preprocessor parsing error
Summary: Preprocessor parsing error
Status: RESOLVED FIXED
Alias: None
Product: java
Classification: Unclassified
Component: Refactoring (show other bugs)
Version: 6.x
Hardware: All Windows 7 x64
: P3 blocker with 3 votes (vote)
Assignee: Jan Becicka
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-11 23:04 UTC by vnhjdh
Modified: 2010-10-04 08:04 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description vnhjdh 2009-10-11 23:04:33 UTC
Editor reports that some of the variables in preprocessor blocks does not exist, but they do and there is no problem
when compiling.
Comment 1 tomatom 2009-11-16 00:22:58 UTC
 Yes, I have the same problem. Running NB 6.7 on 64bit Windows 7. But it is the same with NB 6.8. In my mobile project I have very (really very) strong use of preprocessor. The project runs and compiles OK, but I have half of the variables marked with error as nonexisting. I already send this as question at forum (http://forums.netbeans.org/topic19321.html) - there is attached picture, so you can see how it looks...
 It would be fine if I could send whole my project to you to examine it, but unfortunately I have signed NDA agreement on some parts created by other people so i can not.
Comment 2 vnhjdh 2009-12-10 10:31:00 UTC
I sometimes get these errors taken from dump file:

----- Trees: -------------------------------------------------------
VARIABLE: renderStartTime
----- Stack trace: ---------------------------------------------
com.sun.tools.javac.util.CouplingAbort
	at org.netbeans.modules.java.source.TreeLoader.couplingError(TreeLoader.java:203)
	at com.sun.tools.javac.comp.MemberEnter.visitVarDef(MemberEnter.java:733)
	at com.sun.tools.javadoc.JavadocMemberEnter.visitVarDef(JavadocMemberEnter.java:79)
	at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:712)
	at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:425)
	at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:437)
	at com.sun.tools.javac.comp.MemberEnter.finishClass(MemberEnter.java:449)
	at com.sun.tools.javac.comp.MemberEnter.finish(MemberEnter.java:1137)
	at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1104)
	at com.sun.tools.javac.code.Symbol.complete(Symbol.java:405)
	at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:803)
	at com.sun.tools.javac.comp.Enter.complete(Enter.java:642)
	at org.netbeans.modules.java.source.parsing.ErrorHandlingJavadocEnter.main(ErrorHandlingJavadocEnter.java:77)
	at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:899)
	at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:377)
	at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:323)
	at org.netbeans.modules.java.source.parsing.JavacParser.moveToPhase(JavacParser.java:559)
	at org.netbeans.modules.java.source.parsing.CompilationInfoImpl.toPhase(CompilationInfoImpl.java:353)
	at org.netbeans.api.java.source.CompilationController.toPhase(CompilationController.java:106)
	at org.netbeans.api.java.source.WorkingCopy.toPhase(WorkingCopy.java:156)
	at org.netbeans.modules.refactoring.java.plugins.JavaWhereUsedQueryPlugin$FindTask.run(JavaWhereUsedQueryPlugin.java:289)
	at org.netbeans.modules.refactoring.java.plugins.JavaWhereUsedQueryPlugin$FindTask.run(JavaWhereUsedQueryPlugin.java:272)
	at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:658)
	at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:165)
	at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:137)
	at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:190)
	at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:101)
	at org.netbeans.api.java.source.JavaSource.runModificationTask(JavaSource.java:674)
	at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles(JavaRefactoringPlugin.java:245)
	at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles(JavaRefactoringPlugin.java:232)
	at org.netbeans.modules.refactoring.java.plugins.JavaWhereUsedQueryPlugin.prepare(JavaWhereUsedQueryPlugin.java:215)
	at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(AbstractRefactoring.java:419)
	at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(AbstractRefactoring.java:403)
	at org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRefactoring.java:214)
	at org.netbeans.modules.refactoring.spi.impl.ParametersPanel$Prepare.run(ParametersPanel.java:803)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:640)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1122)
Comment 3 tomatom 2010-01-17 08:38:49 UTC
Here is shorten (source excluded) dump file I have in ..\netbeans\6.7\var\log\. There is more of them all with Coupling error:


Coupling error:
class file file:/C:/Users/Tom/.netbeans/6.7/var/cache/index/s1/java/13/classes/mid/custom/WorldCustom.sig
source file file:/D:/MyJavaApps/HorrorLabs/src/mid/custom/WorldCustom.java
----- Source file content: ----------------------------------------
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

// here goes source ...

----- Trees: -------------------------------------------------------
VARIABLE: TILE_SIZE
VARIABLE: TILE_SHIFT
VARIABLE: TILE_MASK
METHOD: collideY
METHOD: collideX
----- Stack trace: ---------------------------------------------
com.sun.tools.javac.util.CouplingAbort
	at org.netbeans.modules.java.source.TreeLoader.loadTreeFor(TreeLoader.java:153)
	at com.sun.tools.javac.model.JavacElements.getTreeAndTopLevel(JavacElements.java:623)
	at com.sun.tools.javac.model.JavacElements.getTreeAndTopLevel(JavacElements.java:649)
	at com.sun.tools.javac.api.JavacTrees.getPath(JavacTrees.java:175)
	at com.sun.tools.javac.api.JavacTrees.getPath(JavacTrees.java:167)
	at org.netbeans.modules.editor.java.GoToSupport$3.run(GoToSupport.java:354)
	at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:129)
	at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:113)
	at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:189)
	at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:99)
	at org.netbeans.modules.editor.java.GoToSupport.performGoToImpl(GoToSupport.java:200)
	at org.netbeans.modules.editor.java.GoToSupport.performGoTo(GoToSupport.java:182)
	at org.netbeans.modules.editor.java.GoToSupport.goToImpl(GoToSupport.java:431)
	at org.netbeans.modules.editor.java.GoToSupport$5.run(GoToSupport.java:425)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:577)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1030)
Comment 4 robertnowak 2010-02-22 06:12:31 UTC
Hi all,

I have the same problem in Netbeans 6.8. I`ve tried to remove cache/var dir and restart Netbeans but it did not work. Is there any posibilities to fix this problem?
Comment 5 Adam Sotona 2010-09-27 12:08:29 UTC
Refactoring does not reflect preprocessor layer.
It should take the right preprocessed documents or be disabled for Mobile projects at all.
Comment 6 Jan Lahoda 2010-09-27 13:12:57 UTC
There were many fixes to the preprocessing in java.source for 6.9 - could someone please verify whether this issue still exists in 6.9/trunk?
Comment 7 Tomas Zezula 2010-09-27 18:34:36 UTC
The preprocessor support was completely broken before 6.9. I've done several fixes in it, verified by Petr Suchomel.
Comment 8 Jan Becicka 2010-10-04 08:04:44 UTC
Should be already fixed.