code: function copySymbol(symbol, meaning) {
                  if (symbol.flags & meaning) {
                      var id = symbol.name;
                      // We will copy all symbol regardless of its reserved name because
                      // symbolsToArray will check whether the key is a reserved name and
                      // it will not copy symbol with reserved name to the array
                      if (!symbols[id]) {
                          symbols[id] = symbol;
                      }
                  }
              }
docs: Copy the given symbol into symbol tables if the symbol has the given meaning
  and it doesn't already existed in the symbol table
  @param key a key for storing in symbol table; if undefined, use symbol.name
  @param symbol the symbol to be added into symbol table
  @param meaning meaning of symbol to filter by before adding to symbol table