code: private void maybeAddAliasToSymbolTable(Node n, String module) {
      if (preprocessorSymbolTable != null) {
        n.putBooleanProp(Node.MODULE_ALIAS, true);
        // Alias can be used in js types. Types have node type STRING and not NAME so we have to
        // use their name as string.
        String nodeName =
            n.getToken() == Token.STRING
                ? n.getString()
                : preprocessorSymbolTable.getQualifiedName(n);
        // We need to include module as part of the name because aliases are local to current module.
        // Aliases with the same name from different module should be completely different entities.
        String name = "alias_" + module + "_" + nodeName;
        preprocessorSymbolTable.addReference(n, name);
      }
    }
docs: Add alias nodes to the symbol table as they going to be removed by rewriter. Example aliases:
  
  const Foo = goog.require('my.project.Foo');
  const bar = goog.require('my.project.baz');
  const {baz} = goog.require('my.project.utils');