3m9 compatible;
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / SourceElementParser.java
index 413626b..2f98945 100644 (file)
@@ -12,6 +12,8 @@ package net.sourceforge.phpdt.internal.compiler;
 
 import java.util.ArrayList;
 
+import net.sourceforge.phpdt.internal.compiler.CompilationResult;
+
 import net.sourceforge.phpdt.core.compiler.CharOperation;
 import net.sourceforge.phpdt.core.compiler.IProblem;
 import net.sourceforge.phpdt.internal.compiler.env.ICompilationUnit;
@@ -1072,36 +1074,41 @@ public void parseCompilationUnit (
 //             diet = old;
        }
 }
-public void parseCompilationUnit(
-       ICompilationUnit unit, 
-       boolean needReferenceInfo) {
-//     boolean old = diet;
-//     if (needReferenceInfo) {
-//             unknownRefs = new NameReference[10];
-//             unknownRefsCounter = 0;
-//     }
+public CompilationUnitDeclaration parseCompilationUnit(
+               ICompilationUnit unit, 
+               boolean fullParse) {
+                       
+//             boolean old = diet;
+//             if (fullParse) {
+//                     unknownRefs = new NameReference[10];
+//                     unknownRefsCounter = 0;
+//             }
 
-       try {
-//             diet = true;
-               reportReferenceInfo = needReferenceInfo;
-               CompilationResult compilationUnitResult = new CompilationResult(unit, 0, 0, 10); //this.options.maxProblemsPerUnit);
-               CompilationUnitDeclaration parsedUnit = parse(unit, compilationUnitResult, false);
-               if (scanner.recordLineSeparator) {
-                       requestor.acceptLineSeparatorPositions(scanner.getLineEnds());
+               try {
+//                     diet = true;
+                       this.reportReferenceInfo = fullParse;
+                       CompilationResult compilationUnitResult = new CompilationResult(unit, 0, 0, this.options.maxProblemsPerUnit);
+                       CompilationUnitDeclaration parsedUnit = parse(unit, compilationUnitResult, false);
+                       if (scanner.recordLineSeparator) {
+                               requestor.acceptLineSeparatorPositions(scanner.getLineEnds());
+                       }
+                       int initialStart = this.scanner.initialPosition;
+                       int initialEnd = this.scanner.eofPosition;
+//                     if (this.localDeclarationVisitor != null || fullParse){
+//                             diet = false;
+//                             this.getMethodBodies(parsedUnit);
+//                     }
+                       this.scanner.resetTo(initialStart, initialEnd);
+                       notifySourceElementRequestor(parsedUnit);
+                       return parsedUnit;
+               } catch (AbortCompilation e) {
+                       // ignore this exception
+               } finally {
+//                     diet = old;
                }
-               int initialStart = this.scanner.initialPosition;
-               int initialEnd = this.scanner.eofPosition;
-//             if (this.localDeclarationVisitor != null || needReferenceInfo){
-//                     diet = false;
-//                     this.getMethodBodies(parsedUnit);
-//             }
-               this.scanner.resetTo(initialStart, initialEnd);
-               notifySourceElementRequestor(parsedUnit);
-       } catch (AbortCompilation e) {
-       } finally {
-//             diet = old;
+               return null;
        }
-}
+
 //public void parseTypeMemberDeclarations(
 //     ISourceType sourceType, 
 //     ICompilationUnit sourceUnit,