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));
  }