import net.sourceforge.phpdt.internal.compiler.util.Util;
import net.sourceforge.phpeclipse.builder.IdentifierIndexManager;
import net.sourceforge.phpeclipse.internal.compiler.ast.AbstractMethodDeclaration;
-import net.sourceforge.phpeclipse.internal.compiler.ast.AstNode;
+import net.sourceforge.phpeclipse.internal.compiler.ast.ASTNode;
import net.sourceforge.phpeclipse.internal.compiler.ast.CompilationUnitDeclaration;
import net.sourceforge.phpeclipse.internal.compiler.ast.FieldDeclaration;
import net.sourceforge.phpeclipse.internal.compiler.ast.ImportReference;
if (astPtr == 0) {
compilationUnit.types.add(methodDecl);
} else {
- AstNode node = astStack[astPtr];
+ ASTNode node = astStack[astPtr];
if (node instanceof TypeDeclaration) {
TypeDeclaration typeDecl = ((TypeDeclaration) node);
if (typeDecl.methods == null) {
// } else {
expr();
if (token != TokenNameRBRACKET) {
- throwSyntaxError("']' expected after '{$'.");
+ throwSyntaxError("']' expected.");
}
getNextToken();
// }
throwSyntaxError("String or Variable token expected.");
}
getNextToken();
+ if (token == TokenNameLBRACKET) {
+ getNextToken();
+ // if (token == TokenNameRBRACKET) {
+ // getNextToken();
+ // } else {
+ expr();
+ if (token != TokenNameRBRACKET) {
+ throwSyntaxError("']' expected after '${'.");
+ }
+ getNextToken();
+ // }
+ }
}
// if (token != TokenNameRBRACE) {
// throwSyntaxError("'}' expected after '{$'.");
//ast stack
final static int AstStackIncrement = 100;
protected int astPtr;
- protected AstNode[] astStack = new AstNode[AstStackIncrement];
+ protected ASTNode[] astStack = new ASTNode[AstStackIncrement];
protected int astLengthPtr;
protected int[] astLengthStack;
- AstNode[] noAstNodes = new AstNode[AstStackIncrement];
+ ASTNode[] noAstNodes = new ASTNode[AstStackIncrement];
public CompilationUnitDeclaration compilationUnit; /*
* the result from parse()
*/
astLengthStack[astLengthPtr] = pos;
}
}
- protected void pushOnAstStack(AstNode node) {
+ protected void pushOnAstStack(ASTNode node) {
/*
* add a new obj on top of the ast stack
*/
astStack[++astPtr] = node;
} catch (IndexOutOfBoundsException e) {
int oldStackLength = astStack.length;
- AstNode[] oldStack = astStack;
- astStack = new AstNode[oldStackLength + AstStackIncrement];
+ ASTNode[] oldStack = astStack;
+ astStack = new ASTNode[oldStackLength + AstStackIncrement];
System.arraycopy(oldStack, 0, astStack, 0, oldStackLength);
astPtr = oldStackLength;
astStack[astPtr] = node;