File | Line |
---|
uk/co/badgersinfoil/metaas/impl/ASTBuilder.java | 136 |
uk/co/badgersinfoil/metaas/impl/ASTBuilder.java | 177 |
public static ASTASMethod newInterfaceMethod(String name, Visibility visibility, String returnType) {
LinkedListTree def = ASTUtils.newImaginaryAST(AS3Parser.METHOD_DEF);
LinkedListTree annos = ASTUtils.newPlaceholderAST(AS3Parser.ANNOTATIONS);
def.addChildWithTokens(annos);
def.addChildWithTokens(ModifierUtils.toModifiers(visibility));
def.appendToken(TokenBuilder.newFunction());
def.appendToken(TokenBuilder.newSpace());
LinkedListTree acc = ASTUtils.newPlaceholderAST(AS3Parser.ACCESSOR_ROLE);
def.addChildWithTokens(acc);
LinkedListTree methName = ASTUtils.newAST(AS3Parser.IDENT, name);
def.addChildWithTokens(methName);
def.addChildWithTokens(ASTUtils.newParentheticAST(AS3Parser.PARAMS, AS3Parser.LPAREN, "(", AS3Parser.RPAREN, ")"));
if (returnType != null) {
def.addChildWithTokens(AS3FragmentParser.parseTypeSpec(returnType));
}
def.appendToken(TokenBuilder.newSemi()); |
File | Line |
---|
uk/co/badgersinfoil/metaas/impl/ASTBuilder.java | 445 |
uk/co/badgersinfoil/metaas/impl/ASTBuilder.java | 467 |
public static ASAssignmentExpression newAssignExpression(LinkedListToken op, Expression left, Expression right) {
LinkedListTree ast = ASTUtils.newAST(op);
LinkedListTree leftExpr = ((ASTExpression)left).getAST();
assertNoParent("left-hand expression", leftExpr);
LinkedListTree rightExpr = ((ASTExpression)right).getAST();
if (precidence(ast) < precidence(leftExpr)) {
leftExpr = parenthise(leftExpr);
}
if (precidence(ast) < precidence(rightExpr)) {
rightExpr = parenthise(rightExpr);
}
// don't use addChildWithTokens(); special handling below,
ast.addChild(leftExpr);
ast.addChild(rightExpr);
leftExpr.getStopToken().setNext(op);
rightExpr.getStartToken().setPrev(op);
ast.setStartToken(leftExpr.getStartToken());
ast.setStopToken(rightExpr.getStopToken());
spaceEitherSide(op);
return new ASTASAssignmentExpression(ast); |
File | Line |
---|
uk/co/badgersinfoil/metaas/impl/ASTASClassType.java | 129 |
uk/co/badgersinfoil/metaas/impl/ASTASInterfaceType.java | 70 |
LinkedListTree impls = ASTUtils.findChildByType(ast, AS3Parser.EXTENDS);
int count = 0;
for (ASTIterator i=new ASTIterator(impls); i.hasNext(); ) {
LinkedListTree iface = i.next();
String name = ASTUtils.identText(iface);
if (name.equals(interfaceName)) {
if (i.hasNext()) {
ASTUtils.removeTrailingWhitespaceAndComma(iface.getStopToken());
} else if (count == 0) {
// no interfaces left, so remove the
// 'implements' clause completely,
ast.deleteChild(ast.getIndexOfChild(impls));
break;
}
i.remove();
if (i.hasNext()) {
count++;
}
break;
}
count++;
}
}
public ASMethod newMethod(String name, Visibility visibility, String returnType) { |