Added default getter/setter support and initializer support.

This commit is contained in:
Pavel Talanov
2011-11-10 21:29:50 +04:00
parent fe54dc78e8
commit 8e147b26a7
19 changed files with 740 additions and 336 deletions
@@ -12,38 +12,44 @@ import java.util.List;
*/
public class JsBlock extends JsStatement {
private final List<JsStatement> stmts = new ArrayList<JsStatement>();
private final List<JsStatement> stmts = new ArrayList<JsStatement>();
public JsBlock() {
}
public JsBlock(JsStatement stmt) {
stmts.add(stmt);
}
public List<JsStatement> getStatements() {
return stmts;
}
public void addStatement(JsStatement statement) {
assert statement != null;
stmts.add(statement);
}
public boolean isGlobalBlock() {
return false;
}
@Override
public void traverse(JsVisitor v, JsContext ctx) {
if (v.visit(this, ctx)) {
v.acceptWithInsertRemove(stmts);
public JsBlock() {
}
public JsBlock(JsStatement stmt) {
stmts.add(stmt);
}
public List<JsStatement> getStatements() {
return stmts;
}
public void addStatement(JsStatement statement) {
assert statement != null;
stmts.add(statement);
}
public boolean isGlobalBlock() {
return false;
}
@Override
public void traverse(JsVisitor v, JsContext ctx) {
if (v.visit(this, ctx)) {
v.acceptWithInsertRemove(stmts);
}
v.endVisit(this, ctx);
}
@Override
public NodeKind getKind() {
return NodeKind.BLOCK;
}
public void setStatements(List<JsStatement> statements) {
assert this.stmts.isEmpty() : "Already contains statements.";
this.stmts.addAll(statements);
}
v.endVisit(this, ctx);
}
@Override
public NodeKind getKind() {
return NodeKind.BLOCK;
}
}
@@ -59,4 +59,10 @@ public final class JsInvocation extends JsExpression implements HasArguments {
public NodeKind getKind() {
return NodeKind.INVOKE;
}
// Pavel Talanov
public void setArguments(List<JsExpression> arguments) {
assert this.args.isEmpty() : "Arguments already set.";
this.args.addAll(arguments);
}
}