X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/SourceElementParser.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/SourceElementParser.java index dab8298..fc27be9 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/SourceElementParser.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/SourceElementParser.java @@ -23,16 +23,15 @@ import net.sourceforge.phpdt.internal.compiler.lookup.ClassScope; import net.sourceforge.phpdt.internal.compiler.problem.AbortCompilation; import net.sourceforge.phpdt.internal.compiler.problem.ProblemReporter; import net.sourceforge.phpdt.internal.core.util.CommentRecorderParser; +import net.sourceforge.phpeclipse.internal.compiler.ast.ASTNode; import net.sourceforge.phpeclipse.internal.compiler.ast.AbstractMethodDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.AnonymousLocalTypeDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.Argument; -import net.sourceforge.phpeclipse.internal.compiler.ast.ASTNode; import net.sourceforge.phpeclipse.internal.compiler.ast.CompilationUnitDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.ConstructorDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.ExplicitConstructorCall; import net.sourceforge.phpeclipse.internal.compiler.ast.FieldDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.ImportReference; -import net.sourceforge.phpeclipse.internal.compiler.ast.LocalTypeDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.MemberTypeDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.MethodDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.NameReference; @@ -80,32 +79,22 @@ public class SourceElementParser extends CommentRecorderParser {//extends /** * An ast visitor that visits local type declarations. */ - public class LocalDeclarationVisitor extends AbstractSyntaxTreeVisitorAdapter { - // public boolean visit( - // AnonymousLocalTypeDeclaration anonymousTypeDeclaration, - // BlockScope scope) { - // notifySourceElementRequestor(anonymousTypeDeclaration, sourceType == - // null); - // return false; // don't visit members as this was done during - // notifySourceElementRequestor(...) - // } - public boolean visit(LocalTypeDeclaration typeDeclaration, BlockScope scope) { - notifySourceElementRequestor(typeDeclaration, sourceType == null); - return false; // don't visit members as this was done during - // notifySourceElementRequestor(...) - } - public boolean visit(MemberTypeDeclaration typeDeclaration, ClassScope scope) { - notifySourceElementRequestor(typeDeclaration, sourceType == null); - return false; // don't visit members as this was done during - // notifySourceElementRequestor(...) - } - + public class LocalDeclarationVisitor extends ASTVisitor { + public boolean visit(TypeDeclaration typeDeclaration, BlockScope scope) { + notifySourceElementRequestor(typeDeclaration, sourceType == null); + return false; // don't visit members as this was done during notifySourceElementRequestor(...) + } + public boolean visit(TypeDeclaration typeDeclaration, ClassScope scope) { + notifySourceElementRequestor(typeDeclaration, sourceType == null); + return false; // don't visit members as this was done during notifySourceElementRequestor(...) + } + } public SourceElementParser(final ISourceElementRequestor requestor, IProblemFactory problemFactory, CompilerOptions options) { // we want to notify all syntax error with the acceptProblem API // To do so, we define the record method of the ProblemReporter - super(new ProblemReporter(DefaultErrorHandlingPolicies.exitAfterAllProblems(), options, problemFactory) { + super( new ProblemReporter(DefaultErrorHandlingPolicies.exitAfterAllProblems(), options, problemFactory) { public void record(IProblem problem, CompilationResult unitResult, ReferenceContext referenceContext) { unitResult.record(problem, referenceContext); if (requestor!=null) { @@ -126,21 +115,21 @@ public class SourceElementParser extends CommentRecorderParser {//extends * @deprecated use SourceElementParser(ISourceElementRequestor, * IProblemFactory, CompilerOptions) */ - //public SourceElementParser( - // final ISourceElementRequestor requestor, - // IProblemFactory problemFactory) { - // this(requestor, problemFactory, new CompilerOptions()); - //} - //public SourceElementParser( - // final ISourceElementRequestor requestor, - // IProblemFactory problemFactory, - // CompilerOptions options, - // boolean reportLocalDeclarations) { - // this(requestor, problemFactory, options); - // if (reportLocalDeclarations) { - // this.localDeclarationVisitor = new LocalDeclarationVisitor(); - // } - //} + public SourceElementParser( + final ISourceElementRequestor requestor, + IProblemFactory problemFactory) { + this(requestor, problemFactory, new CompilerOptions()); + } + public SourceElementParser( + final ISourceElementRequestor requestor, + IProblemFactory problemFactory, + CompilerOptions options, + boolean reportLocalDeclarations) { + this(requestor, problemFactory, options); + if (reportLocalDeclarations) { + this.localDeclarationVisitor = new LocalDeclarationVisitor(); + } + } //public void checkAnnotation() { // int firstCommentIndex = scanner.commentPtr; // @@ -921,7 +910,7 @@ public class SourceElementParser extends CommentRecorderParser {//extends FieldDeclaration[] fields = typeDeclaration.fields; AbstractMethodDeclaration[] methods = typeDeclaration.methods; - MemberTypeDeclaration[] memberTypes = typeDeclaration.memberTypes; + TypeDeclaration[] memberTypes = typeDeclaration.memberTypes; int fieldCount = fields == null ? 0 : fields.length; int methodCount = methods == null ? 0 : methods.length; int memberTypeCount = memberTypes == null ? 0 : memberTypes.length;