return null;
}
@Override
public String visit(final VarDecl n, final SymbolTable argu) {
final SizzleType type = argu.get(n.f0.f0.tokenImage);
if (n.f2.present()) {
argu.setId(n.f0.f0.tokenImage);
n.f2.node.accept(this, argu);
argu.setId(null);
}
if (type instanceof SizzleTable)
return null;
final StringTemplate st = this.stg.getInstanceOf("VarDecl");
st.setAttribute("id", n.f0.f0.tokenImage);
// TODO: make templates for types
st.setAttribute("type", type.toJavaType());
if (n.f3.present()) {
final NodeChoice nodeChoice = (NodeChoice) n.f3.node;
switch (nodeChoice.which) {
case 0: // initializer
SizzleType t;
try {
t = this.typechecker.visit((Expression) ((NodeSequence) nodeChoice.choice).elementAt(1), argu.cloneNonLocals());
} catch (final IOException e) {
throw new RuntimeException(e.getClass().getSimpleName() + " caught", e);
}