Bug 5972 - Incremental builder (new) recompiling dependents of Parser for no apparent reason
Summary: Incremental builder (new) recompiling dependents of Parser for no apparent re...
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P1 normal (vote)
Target Milestone: 2.0 M1   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-11-15 11:49 EST by Philipe Mulet CLA
Modified: 2002-01-11 09:22 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipe Mulet CLA 2001-11-15 11:49:58 EST
Build 20011114 + Jdtcore from HEAD (new builder enabled)

Steps:
1. self-hosting mode with new builder enabled, builder tracing on.
2. Force a full build of all projects
3. Open on Parser.java (the one defined inside jdtcore)
4. Find method Parser.pushOnIntStack(...)
5. Edit its body to insert an extra statement:
     e.g. System.out.println();
6. Hit ctrl-B, it is recompiling all dependent Parsers .... and it should 
definitely not, given there is no structural change.

The trace below seems to indicate that it thought there was some:

INCREMENTAL build of: org.eclipse.jdt.core
Compile this changed source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/Parser.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/Parser.java
Type has structural changes org/eclipse/jdt/internal/compiler/parser/Parser
  adding dependents of Parser in org/eclipse/jdt/internal/compiler/parser
Writing class file Parser.class
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/CompilationUnit.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/SourceMapper.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/BinaryMethod.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/AbstractMethodDeclaration.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/eval/org/eclip
se/jdt/internal/eval/CodeSnippetCompiler.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/eval/org/eclip
se/jdt/internal/eval/CodeSnippetParser.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/SelectionEngine.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/jdom/SimpleDOMBuilder.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/impl/Engine.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/CompletionEngine.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/impl/AssistParser.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredInitializer.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/problem/ProblemReporter.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredElement.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/select/SelectionParser.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/search/org/ecl
ipse/jdt/internal/core/search/matching/MatchLocatorParser.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/TypeDeclaration.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/search/org/ecl
ipse/jdt/internal/core/search/matching/PotentialMatch.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/ConstructorDeclaration.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/formatter/org/
eclipse/jdt/internal/formatter/CodeFormatter.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/MethodDeclaration.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/Initializer.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/search/org/ecl
ipse/jdt/internal/core/search/indexing/SourceIndexer.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/search/org/ecl
ipse/jdt/internal/core/search/matching/MatchLocator.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredMethod.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/Parser.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/Clinit.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/Compiler.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/complete/CompletionParser.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/SourceElementParser.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/HierarchyResolver.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredBlock.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredType.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredField.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredUnit.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/jdom/DOMBuilder.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/DocumentElementParser.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/CompilationUnit.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/SourceMapper.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/BinaryMethod.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/AbstractMethodDeclaration.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/eval/org/eclip
se/jdt/internal/eval/CodeSnippetCompiler.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/eval/org/eclip
se/jdt/internal/eval/CodeSnippetParser.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/SelectionEngine.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/jdom/SimpleDOMBuilder.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/impl/Engine.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/CompletionEngine.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/impl/AssistParser.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredInitializer.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/problem/ProblemReporter.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredElement.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/select/SelectionParser.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/search/org/ecl
ipse/jdt/internal/core/search/matching/MatchLocatorParser.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/TypeDeclaration.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/search/org/ecl
ipse/jdt/internal/core/search/matching/PotentialMatch.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/ConstructorDeclaration.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/formatter/org/
eclipse/jdt/internal/formatter/CodeFormatter.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/MethodDeclaration.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/Initializer.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/search/org/ecl
ipse/jdt/internal/core/search/indexing/SourceIndexer.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/search/org/ecl
ipse/jdt/internal/core/search/matching/MatchLocator.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredMethod.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/Parser.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/ast/Clinit.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/Compiler.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/codeassist/org
/eclipse/jdt/internal/codeassist/complete/CompletionParser.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/SourceElementParser.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/HierarchyResolver.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredBlock.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredType.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredField.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/parser/RecoveredUnit.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/model/org/ecli
pse/jdt/internal/core/jdom/DOMBuilder.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/compiler/org/e
clipse/jdt/internal/compiler/DocumentElementParser.java
Skipped over unchanged class file CompilationUnit.class
Skipped over unchanged class file CompilationUnit$1.class
Skipped over unchanged class file SourceMapper.class
Skipped over unchanged class file BinaryMethod.class
Skipped over unchanged class file BinaryMethod$DecodeParametersNames.class
Skipped over unchanged class file AbstractMethodDeclaration.class
Skipped over unchanged class file CodeSnippetCompiler.class
Skipped over unchanged class file CodeSnippetParser.class
Skipped over unchanged class file SelectionEngine.class
Skipped over unchanged class file SelectionEngine$1.class
Skipped over unchanged class file SimpleDOMBuilder.class
Skipped over unchanged class file Engine.class
Skipped over unchanged class file CompletionEngine$1.class
Skipped over unchanged class file CompletionEngine.class
Skipped over unchanged class file AssistParser.class
Skipped over unchanged class file RecoveredInitializer.class
Skipped over unchanged class file ProblemReporter.class
Skipped over unchanged class file RecoveredElement.class
Skipped over unchanged class file SelectionParser$2.class
Skipped over unchanged class file SelectionParser$1.class
Skipped over unchanged class file SelectionParser.class
Skipped over unchanged class file MatchLocatorParser.class
Skipped over unchanged class file 
MatchLocatorParser$LocalDeclarationVisitor.class
Skipped over unchanged class file TypeDeclaration.class
Skipped over unchanged class file PotentialMatch.class
Skipped over unchanged class file PotentialMatch$1.class
Skipped over unchanged class file ConstructorDeclaration.class
Skipped over unchanged class file CodeFormatter.class
Skipped over unchanged class file MethodDeclaration.class
Skipped over unchanged class file Initializer.class
Skipped over unchanged class file SourceIndexer.class
Skipped over unchanged class file MatchLocator.class
Skipped over unchanged class file MatchLocator$1.class
Skipped over unchanged class file RecoveredMethod.class
Skipped over unchanged class file Parser.class
Skipped over unchanged class file Clinit.class
Skipped over unchanged class file Compiler.class
Skipped over unchanged class file Compiler$1.class
Skipped over unchanged class file CompletionParser.class
Skipped over unchanged class file SourceElementParser$1.class
Skipped over unchanged class file 
SourceElementParser$LocalDeclarationVisitor.class
Skipped over unchanged class file SourceElementParser.class
Skipped over unchanged class file HierarchyResolver.class
Skipped over unchanged class file RecoveredBlock.class
Skipped over unchanged class file RecoveredType.class
Skipped over unchanged class file RecoveredField.class
Skipped over unchanged class file RecoveredUnit.class
Skipped over unchanged class file DOMBuilder.class
Skipped over unchanged class file DocumentElementParser.class
Skipped over unchanged class file DocumentElementParser$1.class

INCREMENTAL build of: Crap
Add dependents of changed class file 
D:org/eclipse/jdt/internal/compiler/parser/Parser
  adding dependents of Parser in org/eclipse/jdt/internal/compiler/parser

INCREMENTAL build of: org.eclipse.jdt.core.tests
Add dependents of changed class file 
D:org/eclipse/jdt/internal/compiler/parser/Parser
  adding dependents of Parser in org/eclipse/jdt/internal/compiler/parser
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests Compiler/org/eclipse/jdt/tests/compiler/parser/DietRecoveryTest.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests Compiler/org/eclipse/jdt/tests/compiler/parser/SyntaxErrorTest.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests 
Compiler/org/eclipse/jdt/tests/compiler/parser/AbstractCompletionTest.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests 
Compiler/org/eclipse/jdt/tests/compiler/parser/AbstractSelectionTest.java
  found match in org.eclipse.jdt.internal.compiler.parser to Parser
  adding affected source file 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests 
Compiler/org/eclipse/jdt/tests/compiler/parser/SourceElementParserTest.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests Compiler/org/eclipse/jdt/tests/compiler/parser/DietRecoveryTest.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests Compiler/org/eclipse/jdt/tests/compiler/parser/SyntaxErrorTest.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests 
Compiler/org/eclipse/jdt/tests/compiler/parser/AbstractCompletionTest.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests 
Compiler/org/eclipse/jdt/tests/compiler/parser/AbstractSelectionTest.java
About to compile 
D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse 
Java Tests 
Compiler/org/eclipse/jdt/tests/compiler/parser/SourceElementParserTest.java
Skipped over unchanged class file DietRecoveryTest$1.class
Skipped over unchanged class file DietRecoveryTest.class
Skipped over unchanged class file SyntaxErrorTest.class
Skipped over unchanged class file AbstractCompletionTest.class
Skipped over unchanged class file AbstractSelectionTest.class
Skipped over unchanged class file SourceElementParserTest.class
Comment 1 Kent Johnson CLA 2001-11-15 16:41:09 EST
Fixed. The ClassFileReader was using identity to test String constants.