Commit 87043fd8 authored by Tomislav Jovanovic's avatar Tomislav Jovanovic Committed by tjovanovic@mozilla.com
Browse files

Bug 1967692 - Generate error_list.json from ErrorList.py r=Standard8

parent 7e041e38
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -43,7 +43,8 @@ function main(lib_dts, xpc_msg, errors_json) {
      return line ? `  // ${line.trim()}` : "";
    }
    let [name, msg] = line;
    return `\n  /** ${msg} */\n  ${name}: 0x${errors[name].toString(16)};`;
    let type = name in errors ? "0x" + errors[name].toString(16) : "number";
    return `\n  /** ${msg} */\n  ${name}: ${type};`;
  });

  let dts = [
+8 −13
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@
  "NS_ERROR_NOT_SAME_THREAD": 2152071172,
  "NS_ERROR_ILLEGAL_DURING_SHUTDOWN": 2152071198,
  "NS_ERROR_SERVICE_NOT_AVAILABLE": 2152071190,
  "NS_ERROR_OMNIJAR_CORRUPT": 2152071208,
  "NS_ERROR_OMNIJAR_OR_DIR_MISSING": 2152071209,
  "NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA": 4587521,
  "NS_SUCCESS_INTERRUPTED_TRAVERSE": 4587522,
  "NS_BASE_STREAM_CLOSED": 2152136706,
@@ -64,8 +66,8 @@
  "NS_ERROR_OFFLINE": 2152398864,
  "NS_ERROR_PORT_ACCESS_NOT_ALLOWED": 2152398867,
  "NS_ERROR_NET_RESET": 2152398868,
  "NS_ERROR_NET_EMPTY_RESPONSE": 2152398884,
  "NS_ERROR_NET_ERROR_RESPONSE": 2152398883,
  "NS_ERROR_NET_EMPTY_RESPONSE": 2152398884,
  "NS_ERROR_NET_INTERRUPT": 2152398919,
  "NS_ERROR_PROXY_CONNECTION_REFUSED": 2152398920,
  "NS_ERROR_NET_PARTIAL_TRANSFER": 2152398924,
@@ -119,6 +121,7 @@
  "NS_NET_STATUS_WAITING_FOR": 4915210,
  "NS_NET_STATUS_RECEIVING_FROM": 4915206,
  "NS_ERROR_INTERCEPTION_FAILED": 2152398948,
  "NS_ERROR_WEBTRANSPORT_SESSION_LIMIT_EXCEEDED": 2152399047,
  "NS_ERROR_WEBTRANSPORT_CODE_BASE": 2152399048,
  "NS_ERROR_WEBTRANSPORT_CODE_END": 2152399303,
  "NS_ERROR_PROXY_CODE_BASE": 2152399848,
@@ -171,25 +174,13 @@
  "NS_OK_PARSE_SHEET": 5046273,
  "NS_ERROR_HTMLPARSER_CONTINUE": 0,
  "NS_ERROR_HTMLPARSER_EOF": 2152596456,
  "NS_ERROR_HTMLPARSER_UNKNOWN": 2152596457,
  "NS_ERROR_HTMLPARSER_CANTPROPAGATE": 2152596458,
  "NS_ERROR_HTMLPARSER_CONTEXTMISMATCH": 2152596459,
  "NS_ERROR_HTMLPARSER_BADFILENAME": 2152596460,
  "NS_ERROR_HTMLPARSER_BADURL": 2152596461,
  "NS_ERROR_HTMLPARSER_INVALIDPARSERCONTEXT": 2152596462,
  "NS_ERROR_HTMLPARSER_INTERRUPTED": 2152596463,
  "NS_ERROR_HTMLPARSER_BLOCK": 2152596464,
  "NS_ERROR_HTMLPARSER_BADTOKENIZER": 2152596465,
  "NS_ERROR_HTMLPARSER_BADATTRIBUTE": 2152596466,
  "NS_ERROR_HTMLPARSER_UNRESOLVEDDTD": 2152596467,
  "NS_ERROR_HTMLPARSER_MISPLACEDTABLECONTENT": 2152596468,
  "NS_ERROR_HTMLPARSER_BADDTD": 2152596469,
  "NS_ERROR_HTMLPARSER_BADCONTEXT": 2152596470,
  "NS_ERROR_HTMLPARSER_STOPPARSING": 2152596471,
  "NS_ERROR_HTMLPARSER_UNTERMINATEDSTRINGLITERAL": 2152596472,
  "NS_ERROR_HTMLPARSER_HIERARCHYTOODEEP": 2152596473,
  "NS_ERROR_HTMLPARSER_FAKE_ENDTAG": 2152596474,
  "NS_ERROR_HTMLPARSER_INVALID_COMMENT": 2152596475,
  "NS_RDF_ASSERTION_ACCEPTED": 0,
  "NS_RDF_NO_VALUE": 5177346,
  "NS_RDF_ASSERTION_REJECTED": 5177347,
@@ -501,6 +492,9 @@
  "NS_ERROR_DOM_MEDIA_EXTERNAL_ENGINE_NOT_SUPPORTED_ERR": 2154692710,
  "NS_ERROR_DOM_MEDIA_CDM_PROXY_NOT_SUPPORTED_ERR": 2154692711,
  "NS_ERROR_DOM_MEDIA_DENIED_IN_NON_UTILITY": 2154692712,
  "NS_ERROR_DOM_MEDIA_RANGE_ERR": 2154692713,
  "NS_ERROR_DOM_MEDIA_TYPE_ERR": 2154692714,
  "NS_ERROR_DOM_MEDIA_MEDIA_ENGINE_INITIALIZATION_ERR": 2154692715,
  "NS_ERROR_UC_UPDATE_UNKNOWN": 2154758145,
  "NS_ERROR_UC_UPDATE_DUPLICATE_PREFIX": 2154758146,
  "NS_ERROR_UC_UPDATE_INFINITE_LOOP": 2154758147,
@@ -525,6 +519,7 @@
  "NS_ERROR_WDBA_HASH_CHECK": 2154954754,
  "NS_ERROR_WDBA_REJECTED": 2154954755,
  "NS_ERROR_WDBA_BUILD": 2154954756,
  "NS_ERROR_DOM_QM_CLIENT_INIT_ORIGIN_UNINITIALIZED": 2155020289,
  "NS_ERROR_DOWNLOAD_COMPLETE": 2155347969,
  "NS_ERROR_DOWNLOAD_NOT_PARTIAL": 2155347970,
  "NS_ERROR_UNORM_MOREOUTPUT": 2155348001,
+8 −2
Original line number Diff line number Diff line
@@ -43,8 +43,14 @@ def build(ctx, lib):

    if lib == "nsresult":
        xpc_msg = mozpath.join(ctx.topsrcdir, "js/xpconnect/src/xpc.msg")
        errors_json = mozpath.join(ctx.topsrcdir, "tools/ts/config/error_list.json")
        return node(ctx, "build_nsresult", lib_dts, xpc_msg, errors_json)
        errors_obj = mozpath.join(ctx.topobjdir, "xpcom/base/error_list.json")
        errors_src = mozpath.join(ctx.topsrcdir, "tools/ts/config/error_list.json")

        if os.path.exists(errors_obj):
            print(f"[INFO] {errors_obj} -> {errors_src}")
            shutil.copy(errors_obj, errors_src)

        return node(ctx, "build_nsresult", lib_dts, xpc_msg, errors_src)

    if lib == "services":
        services_json = mozpath.join(ctx.topobjdir, "xpcom/components/services.json")
+10 −0
Original line number Diff line number Diff line
@@ -1428,3 +1428,13 @@ def gen_jinja(output, input_filename):
    }

    tpl.stream(context).dump(output, encoding="utf-8")


def error_list_json(output):
    """
    Export error_list.json, used by tools/ts to build lib.gecko.nsresult.d.ts.
    """
    import json

    json.dump(errors, output, indent=2)
    output.write("\n")
+1 −0
Original line number Diff line number Diff line
@@ -236,6 +236,7 @@ GeneratedFile(
    "ErrorNamesInternal.h", script="ErrorList.py", entry_point="error_names_internal_h"
)
GeneratedFile("error_list.rs", script="ErrorList.py", entry_point="error_list_rs")
GeneratedFile("error_list.json", script="ErrorList.py", entry_point="error_list_json")

if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
    SOURCES += [