docs: public void putSymbol(Symbol symbol) {
          if (symbol.getName() == null)
              throw new IllegalArgumentException("null symbol name");
          ensureSymbolTable();
          symbolTable.put(symbol.getName(), symbol);
          symbol.setContainingTable(this);
          top.addSymbol(symbol);
      }