docs: private FunctionSource getFunctionSource(DebuggableScript fnOrScript) {
          FunctionSource fsource = functionSource(fnOrScript);
          if (fsource == null) {
              String url = getNormalizedUrl(fnOrScript);
              SourceInfo si = sourceInfo(url);
              if (si == null) {
                  if (!fnOrScript.isGeneratedScript()) {
                      // Not eval or Function, try to load it from URL
                      String source = loadSource(url);
                      if (source != null) {
                          DebuggableScript top = fnOrScript;
                          for (;;) {
                              DebuggableScript parent = top.getParent();
                              if (parent == null) {
                                  break;
                              }
                              top = parent;
                          }
                          registerTopScript(top, source);
                          fsource = functionSource(fnOrScript);
                      }
                  }
              }
          }
          return fsource;
      }