(overloads, implementation, flagsToCheck, someOverloadFlags, allOverloadFlags)
| 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)); |
no test coverage detected