Bug 19794 - Method body change may result in massive recompilation
Summary: Method body change may result in massive recompilation
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 2.0 F3   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-06-10 10:36 EDT by Philipe Mulet CLA
Modified: 2002-06-14 05:06 EDT (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 2002-06-10 10:36:02 EDT
Build 20020607

If adding a local class to a method, then it results into a structural change 
from the builder viewpoint. This should be optimized as modification of a 
synthetic or <clinit>.
Comment 1 Philipe Mulet CLA 2002-06-10 10:36:37 EDT
Should defer
Comment 2 Philipe Mulet CLA 2002-06-10 10:47:09 EDT
Change was addind a local type on JavaCore, got the following build trace:

Type has structural changes org/eclipse/jdt/core/JavaCore$1
  adding dependents of JavaCore in org/eclipse/jdt/core
Writing class file JavaCore$1.class
Writing class file JavaCore.class
Deleting class file of removed type org/eclipse/jdt/core/JavaCore$2
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/builder/NameEnvi
ronment.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/codeassist/org/eclipse
/jdt/internal/codeassist/Compl
etionEngine.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
core/CorrectionEngine.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/indexing
/IndexAllProject.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/antadapter/org/eclipse
/jdt/core/JDTCompilerAdapter.j
ava
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CompilationUnitV
isitor.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JarPackageFragme
ntRoot.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/JavaWork
spaceScope.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/Util.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/co
re/dom/AST.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/ClasspathEntry.j
ava
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/hierarchy/TypeHi
erarchy.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/hierarchy/Hierar
chyBuilder.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/hierarchy/IndexB
asedHierarchyBuilder.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/builder/Abstract
ImageBuilder.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JavaModel.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JavaModelStatus.
java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/DeltaProcessor.j
ava
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/jdom/DOMBuilder.
java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/builder/SourceFi
le.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/indexing
/SourceIndexer.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/PackageFragmentR
oot.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/HandleFactory.ja
va
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/BinaryType.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/matching
/MatchLocator.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/jdom/SimpleDOMBu
ilder.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
core/JavaConventions.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/builder/JavaBuil
der.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JavaProject.java

  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CompilationUnitP
roblemFinder.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JavaModelManager
.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/ClassFile.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/eval/EvaluationC
ontextWrapper.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/core/search/SearchEngine.java

  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/Openable.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/SourceMapper.jav
a
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/Buffer.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
core/IJavaModelMarker.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CopyResourceElem
entsOperation.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/SourceType.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/indexing
/IndexManager.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/co
re/dom/CompilationUnitResolver
.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CreateCompilatio
nUnitOperation.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CompilationUnit.
java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
core/ToolFactory.java
  found match in org.eclipse.jdt.core to JavaCore
  adding affected source file 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/NameLookup.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/builder/NameEnvironment.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/codeassist/org/eclipse
/jdt/internal/codeassist/CompletionEngine.j
ava
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
core/CorrectionEngine.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/indexing/IndexAllProj
ect.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/antadapter/org/eclipse
/jdt/core/JDTCompilerAdapter.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CompilationUnitVisitor.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JarPackageFragmentRoot.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/JavaWorkspaceScope.ja
va
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/Util.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/co
re/dom/AST.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/ClasspathEntry.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/hierarchy/TypeHierarchy.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/hierarchy/HierarchyBuilder.ja
va
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/hierarchy/IndexBasedHierarchy
Builder.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/builder/AbstractImageBuilder.
java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JavaModel.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JavaModelStatus.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/DeltaProcessor.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/jdom/DOMBuilder.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/builder/SourceFile.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/indexing/SourceIndexe
r.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/PackageFragmentRoot.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/HandleFactory.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/BinaryType.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/matching/MatchLocator
.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/jdom/SimpleDOMBuilder.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
core/JavaConventions.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/builder/JavaBuilder.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JavaProject.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CompilationUnitProblemFinder.
java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/JavaModelManager.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/ClassFile.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/eval/EvaluationContextWrapper
.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/core/search/SearchEngine.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/Openable.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/SourceMapper.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/Buffer.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
core/IJavaModelMarker.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CopyResourceElementsOperation
.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/SourceType.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/search/org/eclipse/jdt
/internal/core/search/indexing/IndexManager
.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/co
re/dom/CompilationUnitResolver.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CreateCompilationUnitOperatio
n.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/CompilationUnit.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
core/ToolFactory.java
About to compile 
D:/eclipse/workspaces/dev2.0/plugins/org.eclipse.jdt.core/model/org/eclipse/jdt/
internal/core/NameLookup.java
Skipped over unchanged class file NameEnvironment.class
Skipped over unchanged class file CompletionEngine$1.class
Skipped over unchanged class file CompletionEngine.class
Skipped over unchanged class file CompletionEngine$2.class
Skipped over unchanged class file CorrectionEngine$1.class
Skipped over unchanged class file CorrectionEngine.class
Skipped over unchanged class file IndexAllProject.class
Skipped over unchanged class file JDTCompilerAdapter.class
Skipped over unchanged class file CompilationUnitVisitor.class
Skipped over unchanged class file CompilationUnitVisitor$2.class
Skipped over unchanged class file CompilationUnitVisitor$3.class
Skipped over unchanged class file CompilationUnitVisitor$1.class
Skipped over unchanged class file JarPackageFragmentRoot.class
Skipped over unchanged class file JavaWorkspaceScope.class
Skipped over unchanged class file Util$Comparer.class
Skipped over unchanged class file Util.class
Skipped over unchanged class file Util$Comparable.class
Skipped over unchanged class file AST.class
Skipped over unchanged class file ClasspathEntry.class
Skipped over unchanged class file TypeHierarchy.class
Skipped over unchanged class file TypeHierarchy$1.class
Skipped over unchanged class file HierarchyBuilder.class
Skipped over unchanged class file IndexBasedHierarchyBuilder$1.class
Skipped over unchanged class file IndexBasedHierarchyBuilder$Queue.class
Skipped over unchanged class file IndexBasedHierarchyBuilder.class
Skipped over unchanged class file IndexBasedHierarchyBuilder$1
$PathCollector.class
Skipped over unchanged class file AbstractImageBuilder.class
Skipped over unchanged class file JavaModel.class
Skipped over unchanged class file JavaModelStatus.class
Skipped over unchanged class file DeltaProcessor.class
Skipped over unchanged class file DOMBuilder.class
Skipped over unchanged class file SourceFile.class
Skipped over unchanged class file SourceIndexer.class
Skipped over unchanged class file PackageFragmentRoot.class
Skipped over unchanged class file HandleFactory.class
Skipped over unchanged class file BinaryType.class
Skipped over unchanged class file MatchLocator$1.class
Skipped over unchanged class file MatchLocator.class
Skipped over unchanged class file MatchLocator$2.class
Skipped over unchanged class file SimpleDOMBuilder.class
Skipped over unchanged class file JavaConventions.class
Skipped over unchanged class file JavaBuilder.class
Skipped over unchanged class file JavaProject.class
Skipped over unchanged class file CompilationUnitProblemFinder$1.class
Skipped over unchanged class file CompilationUnitProblemFinder$2.class
Skipped over unchanged class file CompilationUnitProblemFinder.class
Skipped over unchanged class file JavaModelManager.class
Skipped over unchanged class file JavaModelManager$3.class
Skipped over unchanged class file JavaModelManager$1.class
Skipped over unchanged class file 
JavaModelManager$PluginPreferencesListener.class
Skipped over unchanged class file JavaModelManager$PerProjectInfo.class
Skipped over unchanged class file JavaModelManager$2.class
Skipped over unchanged class file ClassFile$1.class
Skipped over unchanged class file ClassFile.class
Skipped over unchanged class file EvaluationContextWrapper.class
Skipped over unchanged class file EvaluationContextWrapper$1.class
Skipped over unchanged class file SearchEngine.class
Skipped over unchanged class file SearchEngine$1.class
Comment 3 Philipe Mulet CLA 2002-06-10 10:48:04 EDT
The reason is that the type JavaCore$1 isn't new/deleted, but it looks has 
changed with structural differences, given it is taking the slot of another one 
preexisting.

Comment 4 Philipe Mulet CLA 2002-06-10 11:53:22 EDT
Actually, this is quite annoying. Should investigate for F3
Comment 5 Kent Johnson CLA 2002-06-10 12:06:27 EDT
This is a problem with the method ClassFileReader.isLocal().
Comment 6 Olivier Thomann CLA 2002-06-10 13:52:09 EDT
isLocal() works fine for local class, not for anonymous class.
In fact to be consistent, 
isLocal should be:
public boolean isLocal() {
	return 
		this.innerInfo != null 
		&& 
this.innerInfo.getEnclosingTypeName() == null 
		&& this.innerInfo.getSourceName() != 
null
		&& this.innerInfo.getSourceName().length != 0;
}
instead of:
public boolean 
isLocal() {
	return 
		this.innerInfo != null 
		&& 
this.innerInfo.getEnclosingTypeName() == null 
		&& this.innerInfo.getSourceName() != 
null;
}
because of some .class files compiled by Sun. Look at the check in isAnynomous() to see 
the meaning of this extra check.
The right test seems to be: !isMember(). This is true for 
anonymous AND local classes.
Comment 7 Kent Johnson CLA 2002-06-10 13:56:50 EDT
Changed to test for both isLocal() and isAnonymous().
Comment 8 David Audel CLA 2002-06-14 05:06:39 EDT
Verified.