MCPcopy Index your code
hub / github.com/nodejs/node / checkFlagAgreementBetweenOverloads

Function checkFlagAgreementBetweenOverloads

test/fixtures/snapshot/typescript.js:80930–80952  ·  view source on GitHub ↗
(overloads, implementation, flagsToCheck, someOverloadFlags, allOverloadFlags)

Source from the content-addressed store, hash-verified

80928 return implementationSharesContainerWithFirstOverload ? implementation : overloads[0];
80929 }
80930 function checkFlagAgreementBetweenOverloads(overloads, implementation, flagsToCheck, someOverloadFlags, allOverloadFlags) {
80931 // Error if some overloads have a flag that is not shared by all overloads. To find the
80932 // deviations, we XOR someOverloadFlags with allOverloadFlags
80933 var someButNotAllOverloadFlags = someOverloadFlags ^ allOverloadFlags;
80934 if (someButNotAllOverloadFlags !== 0) {
80935 var canonicalFlags_1 = getEffectiveDeclarationFlags(getCanonicalOverload(overloads, implementation), flagsToCheck);
80936 ts.forEach(overloads, function (o) {
80937 var deviation = getEffectiveDeclarationFlags(o, flagsToCheck) ^ canonicalFlags_1;
80938 if (deviation & 1 /* ModifierFlags.Export */) {
80939 error(ts.getNameOfDeclaration(o), ts.Diagnostics.Overload_signatures_must_all_be_exported_or_non_exported);
80940 }
80941 else if (deviation & 2 /* ModifierFlags.Ambient */) {
80942 error(ts.getNameOfDeclaration(o), ts.Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient);
80943 }
80944 else if (deviation & (8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */)) {
80945 error(ts.getNameOfDeclaration(o) || o, ts.Diagnostics.Overload_signatures_must_all_be_public_private_or_protected);
80946 }
80947 else if (deviation & 128 /* ModifierFlags.Abstract */) {
80948 error(ts.getNameOfDeclaration(o), ts.Diagnostics.Overload_signatures_must_all_be_abstract_or_non_abstract);
80949 }
80950 });
80951 }
80952 }
80953 function checkQuestionTokenAgreementBetweenOverloads(overloads, implementation, someHaveQuestionToken, allHaveQuestionToken) {
80954 if (someHaveQuestionToken !== allHaveQuestionToken) {
80955 var canonicalHasQuestionToken_1 = ts.hasQuestionToken(getCanonicalOverload(overloads, implementation));

Calls 4

getCanonicalOverloadFunction · 0.85
errorFunction · 0.70
forEachMethod · 0.65

Tested by

no test coverage detected