public void handleVarDecl(ASTVarDecl node) { // System.out.println("Visiting var decl"); String name = node.getName(); node.setLineNumber(((SimpleNode) node.jjtGetParent()).getLineNumber()); SymbolTable s = Global.getCurrentSymbolTable(); ArrayList<Integer> values; if (node.getIsArray()) { ByValVariable v = (ByValVariable) s.getVariable(name); v.setArray(); values = (ArrayList<Integer>) handleArrayDeclaration((ASTArrayDeclaration) node.jjtGetChild(0)); v.setValues(values); } else { Integer value = (Integer) node.jjtGetChild(0).jjtAccept(this, null); s.setValue(name, value); } // Drawing Stuff connector.addVariable(s.getVariable(name), name, s.getName()); // This is a snapshot connector.showVar(Global.getCurrentSymbolTable().getVariable(name)); }