docs: @Nullable
    public Symbol getSymbolFromString(String symStr) {
      symStr = inferBinaryName(symStr);
      Name name = getName(symStr);
      Modules modules = Modules.instance(context);
      boolean modular = modules.getDefaultModule() != getSymtab().noModule;
      if (!modular) {
        return getSymbolFromString(getSymtab().noModule, name);
      }
      for (ModuleSymbol msym : Modules.instance(context).allModules()) {
        ClassSymbol result = getSymbolFromString(msym, name);
        if (result != null) {
          // TODO(cushon): the path where we iterate over all modules is probably slow.
          // Try to learn some lessons from JDK-8189747, and consider disallowing this case and
          // requiring users to call the getSymbolFromString(ModuleSymbol, Name) overload instead.
          return result;
        }
      }
      return null;
    }