X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/UnitParser.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/UnitParser.java index d420454..744a7ab 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/UnitParser.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/UnitParser.java @@ -1,13 +1,12 @@ package net.sourceforge.phpdt.internal.compiler.parser; + import net.sourceforge.phpdt.core.IJavaModelMarker; import net.sourceforge.phpdt.core.compiler.IProblem; import net.sourceforge.phpdt.internal.compiler.CompilationResult; import net.sourceforge.phpdt.internal.compiler.env.ICompilationUnit; import net.sourceforge.phpdt.internal.compiler.problem.AbortCompilation; import net.sourceforge.phpdt.internal.compiler.problem.ProblemReporter; -import net.sourceforge.phpdt.internal.compiler.util.Util; -import net.sourceforge.phpdt.internal.core.BasicCompilationUnit; import net.sourceforge.phpeclipse.internal.compiler.ast.CompilationUnitDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.ConstructorDeclaration; import net.sourceforge.phpeclipse.internal.compiler.ast.FieldDeclaration; @@ -20,16 +19,15 @@ import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; /** - * @author jsurfer - * + * * */ public class UnitParser extends Parser { public UnitParser(ProblemReporter problemReporter) { //, boolean optimizeStringLiterals, boolean assertMode) { - super(); + super(problemReporter); nestedMethod = new int[30]; - this.problemReporter = problemReporter; + // this.optimizeStringLiterals = optimizeStringLiterals; // this.assertMode = assertMode; // this.initializeScanner(); @@ -99,7 +97,7 @@ public class UnitParser extends Parser { // int astLength = astStack.length; // if (noAstNodes.length < astLength){ - // noAstNodes = new AstNode[astLength]; + // noAstNodes = new ASTNode[astLength]; // //System.out.println("Resized AST stacks : "+ astLength); // // } @@ -161,8 +159,7 @@ public class UnitParser extends Parser { // storeProblemsFor(((BasicCompilationUnit)sourceUnit).getResource(), compilationResult.getAllProblems()); // } // // jsurfer end - } catch (CoreException e) { - e.printStackTrace(); + } finally { unit = compilationUnit; compilationUnit = null; // reset parser @@ -204,46 +201,12 @@ public class UnitParser extends Parser { new Integer(problem.getSourceStart()), new Integer(problem.getSourceEnd() + 1), new Integer(problem.getSourceLineNumber()), - net.sourceforge.phpdt.internal.core.Util.getProblemArgumentsForMarker(problem.getArguments())}); + net.sourceforge.phpdt.internal.core.util.Util.getProblemArgumentsForMarker(problem.getArguments())}); } } } - protected CompilationUnitDeclaration endParse(int act) { - - this.lastAct = act; - if (currentElement != null) { - currentElement.topElement().updateParseTree(); - if (VERBOSE_RECOVERY) { - System.out.print(Util.bind("parser.syntaxRecovery")); //$NON-NLS-1$ - System.out.println("--------------------------"); //$NON-NLS-1$ - System.out.println(compilationUnit); - System.out.println("----------------------------------"); //$NON-NLS-1$ - } - } else { - if (diet & VERBOSE_RECOVERY) { - System.out.print(Util.bind("parser.regularParse")); //$NON-NLS-1$ - System.out.println("--------------------------"); //$NON-NLS-1$ - System.out.println(compilationUnit); - System.out.println("----------------------------------"); //$NON-NLS-1$ - } - } - if (scanner.recordLineSeparator) { - compilationUnit.compilationResult.lineSeparatorPositions = scanner.getLineEnds(); - } - if (scanner.taskTags != null) { - for (int i = 0; i < scanner.foundTaskCount; i++) { - problemReporter().task( - new String(scanner.foundTaskTags[i]), - new String(scanner.foundTaskMessages[i]), - scanner.foundTaskPriorities[i] == null ? null : new String(scanner.foundTaskPriorities[i]), - scanner.foundTaskPositions[i][0], - scanner.foundTaskPositions[i][1]); - } - } - return compilationUnit; - } // A P I @@ -265,9 +228,7 @@ public class UnitParser extends Parser { parse(); } catch (AbortCompilation ex) { lastAct = ERROR_ACTION; - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + } finally { nestedMethod[nestedType]--; } @@ -330,9 +291,6 @@ public class UnitParser extends Parser { parse(); } catch (AbortCompilation ex) { lastAct = ERROR_ACTION; - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } finally { nestedMethod[nestedType]--; } @@ -344,8 +302,8 @@ public class UnitParser extends Parser { // field.initialization = expressionStack[expressionPtr]; // // // mark field with local type if one was found during parsing - // if ((type.bits & AstNode.HasLocalTypeMASK) != 0) { - // field.bits |= AstNode.HasLocalTypeMASK; + // if ((type.bits & ASTNode.HasLocalTypeMASK) != 0) { + // field.bits |= ASTNode.HasLocalTypeMASK; // } } // A P I @@ -368,9 +326,6 @@ public class UnitParser extends Parser { parse(); } catch (AbortCompilation ex) { lastAct = ERROR_ACTION; - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } finally { nestedMethod[nestedType]--; } @@ -382,59 +337,60 @@ public class UnitParser extends Parser { // ini.block = ((Initializer) astStack[astPtr]).block; // // // mark initializer with local type if one was found during parsing - // if ((type.bits & AstNode.HasLocalTypeMASK) != 0) { - // ini.bits |= AstNode.HasLocalTypeMASK; + // if ((type.bits & ASTNode.HasLocalTypeMASK) != 0) { + // ini.bits |= ASTNode.HasLocalTypeMASK; // } } // A P I public void parse(MethodDeclaration md, CompilationUnitDeclaration unit) { - //only parse the method body of md - //fill out method statements - - //convert bugs into parse error - - if (md.isAbstract()) - return; - // if (md.isNative()) - // return; - // if ((md.modifiers & AccSemicolonBody) != 0) - // return; - - initialize(false); - goForMethodBody(); - nestedMethod[nestedType]++; - - referenceContext = md; - compilationUnit = unit; - - scanner.resetTo(md.sourceEnd + 1, md.declarationSourceEnd); - // reset the scanner to parser from { down to } - try { - parse(); - } catch (AbortCompilation ex) { - lastAct = ERROR_ACTION; - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } finally { - nestedMethod[nestedType]--; - } - - // if (lastAct == ERROR_ACTION) { - // return; - // } - // - // //refill statements - // md.explicitDeclarations = realBlockStack[realBlockPtr--]; - // int length; - // if ((length = astLengthStack[astLengthPtr--]) != 0) - // System.arraycopy( - // astStack, - // (astPtr -= length) + 1, - // md.statements = new Statement[length], - // 0, - // length); +// TODO jsurfer - make the parse process work on methods ? + return; + +// //only parse the method body of md +// //fill out method statements +// +// //convert bugs into parse error +// +// if (md.isAbstract()) +// return; +// // if (md.isNative()) +// // return; +// // if ((md.modifiers & AccSemicolonBody) != 0) +// // return; +// +// initialize(false); +// goForMethodBody(); +// nestedMethod[nestedType]++; +// +// referenceContext = md; +// compilationUnit = unit; +// +// scanner.resetTo(md.sourceEnd + 1, md.declarationSourceEnd); +// +// // reset the scanner to parser from { down to } +// try { +// parse(); +// } catch (AbortCompilation ex) { +// lastAct = ERROR_ACTION; +// } finally { +// nestedMethod[nestedType]--; +// } +// +// // if (lastAct == ERROR_ACTION) { +// // return; +// // } +// // +// // //refill statements +// // md.explicitDeclarations = realBlockStack[realBlockPtr--]; +// // int length; +// // if ((length = astLengthStack[astLengthPtr--]) != 0) +// // System.arraycopy( +// // astStack, +// // (astPtr -= length) + 1, +// // md.statements = new Statement[length], +// // 0, +// // length); } // A P I @@ -456,9 +412,6 @@ public class UnitParser extends Parser { compilationUnit = new CompilationUnitDeclaration(problemReporter, compilationResult, scanner.source.length); /* run automaton */ parse(); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } catch (SyntaxError syntaxError) { // } finally { @@ -469,7 +422,7 @@ public class UnitParser extends Parser { } public CompilationUnitDeclaration dietParse(ICompilationUnit sourceUnit, CompilationResult compilationResult) { - return dietParse(sourceUnit, compilationResult, true); + return dietParse(sourceUnit, compilationResult, false); } public CompilationUnitDeclaration dietParse(ICompilationUnit sourceUnit, CompilationResult compilationResult, boolean phpMode) {