Improved error spans for call errors:

1. When calling a non-callable expression the error span is on the call target not on the whole call
2. When calling a method, the error for overload resolution now includes the arguments (this was previously regressed by #31414)
This commit is contained in:
Titian Cernicova-Dragomir 2019-06-28 23:23:21 +03:00
parent bc07eec015
commit e4bca9649a
90 changed files with 338 additions and 247 deletions

View File

@ -21298,8 +21298,34 @@ namespace ts {
return Debug.fail();
}
}
function getDiagnosticSpanForCallNode(node: CallExpression, doNotIncludeArguments?: boolean) {
let start: number;
let length: number;
const sourceFile = getSourceFileOfNode(node);
function getArgumentArityError(node: Node, signatures: ReadonlyArray<Signature>, args: ReadonlyArray<Expression>) {
if (isPropertyAccessExpression(node.expression)) {
const nameSpan = getErrorSpanForNode(sourceFile, node.expression.name);
start = nameSpan.start;
length = doNotIncludeArguments ? nameSpan.length : node.end - start;
}
else {
const expressionSpan = getErrorSpanForNode(sourceFile, node.expression);
start = expressionSpan.start;
length = doNotIncludeArguments ? expressionSpan.length : node.end - start;
}
return { start, length, sourceFile };
}
function getDiagnosticForCallNode(node: CallLikeExpression, message: DiagnosticMessage, arg0?: string | number, arg1?: string | number, arg2?: string | number, arg3?: string | number): DiagnosticWithLocation {
if (isCallExpression(node)) {
const { sourceFile, start, length } = getDiagnosticSpanForCallNode(node);
return createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2, arg3);
}
else {
return createDiagnosticForNode(node, message, arg0, arg1, arg2, arg3);
}
}
function getArgumentArityError(node: CallLikeExpression, signatures: ReadonlyArray<Signature>, args: ReadonlyArray<Expression>) {
let min = Number.POSITIVE_INFINITY;
let max = Number.NEGATIVE_INFINITY;
let belowArgCount = Number.NEGATIVE_INFINITY;
@ -21346,11 +21372,11 @@ namespace ts {
}
}
if (min < argCount && argCount < max) {
return createDiagnosticForNode(node, Diagnostics.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments, argCount, belowArgCount, aboveArgCount);
return getDiagnosticForCallNode(node, Diagnostics.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments, argCount, belowArgCount, aboveArgCount);
}
if (!hasSpreadArgument && argCount < min) {
const diagnostic = createDiagnosticForNode(node, error, paramRange, argCount);
const diagnostic = getDiagnosticForCallNode(node, error, paramRange, argCount);
return related ? addRelatedInfo(diagnostic, related) : diagnostic;
}
@ -21425,8 +21451,7 @@ namespace ts {
reorderCandidates(signatures, candidates);
if (!candidates.length) {
if (reportErrors) {
const errorNode = getCallErrorNode(node);
diagnostics.add(createDiagnosticForNode(errorNode, Diagnostics.Call_target_does_not_contain_any_signatures));
diagnostics.add(getDiagnosticForCallNode(node, Diagnostics.Call_target_does_not_contain_any_signatures));
}
return resolveErrorCall(node);
}
@ -21504,13 +21529,12 @@ namespace ts {
// If candidate is undefined, it means that no candidates had a suitable arity. In that case,
// skip the checkApplicableSignature check.
if (reportErrors) {
const errorNode = getCallErrorNode(node);
if (candidateForArgumentError) {
checkApplicableSignature(node, args, candidateForArgumentError, assignableRelation, CheckMode.Normal, /*reportErrors*/ true);
}
else if (candidateForArgumentArityError) {
diagnostics.add(getArgumentArityError(errorNode, [candidateForArgumentArityError], args));
diagnostics.add(getArgumentArityError(node, [candidateForArgumentArityError], args));
}
else if (candidateForTypeArgumentError) {
checkTypeArguments(candidateForTypeArgumentError, (node as CallExpression | TaggedTemplateExpression | JsxOpeningLikeElement).typeArguments!, /*reportErrors*/ true, fallbackError);
@ -21518,31 +21542,19 @@ namespace ts {
else {
const signaturesWithCorrectTypeArgumentArity = filter(signatures, s => hasCorrectTypeArgumentArity(s, typeArguments));
if (signaturesWithCorrectTypeArgumentArity.length === 0) {
diagnostics.add(getTypeArgumentArityError(errorNode, signatures, typeArguments!));
diagnostics.add(getTypeArgumentArityError(node, signatures, typeArguments!));
}
else if (!isDecorator) {
diagnostics.add(getArgumentArityError(errorNode, signaturesWithCorrectTypeArgumentArity, args));
diagnostics.add(getArgumentArityError(node, signaturesWithCorrectTypeArgumentArity, args));
}
else if (fallbackError) {
diagnostics.add(createDiagnosticForNode(errorNode, fallbackError));
diagnostics.add(getDiagnosticForCallNode(node, fallbackError));
}
}
}
return produceDiagnostics || !args ? resolveErrorCall(node) : getCandidateForOverloadFailure(node, candidates, args, !!candidatesOutArray);
function getCallErrorNode(node: CallLikeExpression): Node {
if (isCallExpression(node)) {
if (isPropertyAccessExpression(node.expression)) {
return node.expression.name;
}
else {
return node.expression;
}
}
return node;
}
function chooseOverload(candidates: Signature[], relation: Map<RelationComparisonResult>, signatureHelpTrailingComma = false) {
candidateForArgumentError = undefined;
candidateForArgumentArityError = undefined;
@ -21825,7 +21837,7 @@ namespace ts {
relatedInformation = createDiagnosticForNode(node.expression, Diagnostics.It_is_highly_likely_that_you_are_missing_a_semicolon);
}
}
invocationError(node, apparentType, SignatureKind.Call, relatedInformation);
invocationError(node.expression, apparentType, SignatureKind.Call, relatedInformation);
}
return resolveErrorCall(node);
}
@ -21942,7 +21954,7 @@ namespace ts {
return signature;
}
invocationError(node, expressionType, SignatureKind.Construct);
invocationError(node.expression, expressionType, SignatureKind.Construct);
return resolveErrorCall(node);
}
@ -22089,8 +22101,13 @@ namespace ts {
Diagnostics.This_expression_is_not_constructable
);
}
function invocationError(node: Node, apparentType: Type, kind: SignatureKind, relatedInformation?: DiagnosticRelatedInformation) {
const diagnostic = createDiagnosticForNodeFromMessageChain(node, invocationErrorDetails(apparentType, kind));
function invocationError(errorTarget: Node, apparentType: Type, kind: SignatureKind, relatedInformation?: DiagnosticRelatedInformation) {
const diagnostic = createDiagnosticForNodeFromMessageChain(errorTarget, invocationErrorDetails(apparentType, kind));
if (isCallExpression(errorTarget.parent)) {
const { start, length } = getDiagnosticSpanForCallNode(errorTarget.parent, /* doNotIncludeArguments */ true);
diagnostic.start = start;
diagnostic.length = length;
}
diagnostics.add(diagnostic);
invocationErrorRecovery(apparentType, kind, relatedInformation ? addRelatedInfo(diagnostic, relatedInformation) : diagnostic);
}
@ -22129,7 +22146,7 @@ namespace ts {
}
if (!callSignatures.length) {
invocationError(node, apparentType, SignatureKind.Call);
invocationError(node.tag, apparentType, SignatureKind.Call);
return resolveErrorCall(node);
}
@ -22187,7 +22204,7 @@ namespace ts {
if (!callSignatures.length) {
let errorInfo = invocationErrorDetails(apparentType, SignatureKind.Call);
errorInfo = chainDiagnosticMessages(errorInfo, headMessage);
const diag = createDiagnosticForNodeFromMessageChain(node, errorInfo);
const diag = createDiagnosticForNodeFromMessageChain(node.expression, errorInfo);
diagnostics.add(diag);
invocationErrorRecovery(apparentType, SignatureKind.Call, diag);
return resolveErrorCall(node);

View File

@ -40,7 +40,7 @@ namespace ts.codefix {
function getActionsForUsageOfInvalidImport(context: CodeFixContext): CodeFixAction[] | undefined {
const sourceFile = context.sourceFile;
const targetKind = Diagnostics.This_expression_is_not_callable.code === context.errorCode ? SyntaxKind.CallExpression : SyntaxKind.NewExpression;
const node = findAncestor(getTokenAtPosition(sourceFile, context.span.start), a => a.kind === targetKind && a.getStart() === context.span.start && a.getEnd() === (context.span.start + context.span.length)) as CallExpression | NewExpression;
const node = findAncestor(getTokenAtPosition(sourceFile, context.span.start), a => a.kind === targetKind) as CallExpression | NewExpression;
if (!node) {
return [];
}

View File

@ -8,12 +8,12 @@ tests/cases/compiler/arityErrorRelatedSpanBindingPattern.ts(7,1): error TS2554:
function bar(a, b, [c]): void {}
foo("", 0);
~~~
~~~~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 2.
!!! related TS6211 tests/cases/compiler/arityErrorRelatedSpanBindingPattern.ts:1:20: An argument matching this binding pattern was not provided.
bar("", 0);
~~~
~~~~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 2.
!!! related TS6211 tests/cases/compiler/arityErrorRelatedSpanBindingPattern.ts:3:20: An argument matching this binding pattern was not provided.

View File

@ -30,7 +30,7 @@ tests/cases/compiler/baseCheck.ts(26,9): error TS2304: Cannot find name 'x'.
}
class D extends C { constructor(public z: number) { super(this.z) } } // too few params
~~~~~
~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 1.
!!! related TS6210 tests/cases/compiler/baseCheck.ts:1:34: An argument for 'y' was not provided.
~~~~

View File

@ -14,36 +14,33 @@ tests/cases/compiler/betterErrorForAccidentalCall.ts(13,1): error TS2349: This e
declare function foo(): string;
foo()(1 as number).toString();
~~~~~~~~~~~~~~~~~~
~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
foo() (1 as number).toString();
~~~~~~~~~~~~~~~~~~~~~
~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
foo()
~~~~~
(1 as number).toString();
~~~~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
!!! related TS2734 tests/cases/compiler/betterErrorForAccidentalCall.ts:7:1: It is highly likely that you are missing a semicolon.
(1 as number).toString();
foo()
~~~~~
(1 + 2).toString();
~~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
!!! related TS2734 tests/cases/compiler/betterErrorForAccidentalCall.ts:10:1: It is highly likely that you are missing a semicolon.
(1 + 2).toString();
foo()
~~~~~
(<number>1).toString();
~~~~~~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
!!! related TS2734 tests/cases/compiler/betterErrorForAccidentalCall.ts:13:1: It is highly likely that you are missing a semicolon.
(<number>1).toString();

View File

@ -10,20 +10,20 @@ tests/cases/compiler/betterErrorForUnionCall.ts(8,1): error TS2349: This express
==== tests/cases/compiler/betterErrorForUnionCall.ts (3 errors) ====
declare const union: { a: string } | { b: string }
union("");
~~~~~~~~~
~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: No constituent of type '{ a: string; } | { b: string; }' is callable.
declare const fnUnion: { a: string } | ((a: string) => void)
fnUnion("");
~~~~~~~~~~~
~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Not all constituents of type '{ a: string; } | ((a: string) => void)' are callable.
!!! error TS2349: Type '{ a: string; }' has no call signatures.
declare const fnUnion2: (<T extends number>(a: T) => void) | (<T>(a: string) => void)
fnUnion2("");
~~~~~~~~~~~~
~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Each member of the union type '(<T extends number>(a: T) => void) | (<T>(a: string) => void)' has signatures, but none of those signatures are compatible with each other.

View File

@ -33,6 +33,6 @@ tests/cases/compiler/blockScopedSameNameFunctionDeclarationES5.ts(16,1): error T
}
foo(10);
foo(); // not ok - needs number
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/blockScopedSameNameFunctionDeclarationES5.ts:1:14: An argument for 'a' was not provided.

View File

@ -33,6 +33,6 @@ tests/cases/compiler/blockScopedSameNameFunctionDeclarationES6.ts(16,1): error T
}
foo(10);
foo(); // not ok - needs number
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/blockScopedSameNameFunctionDeclarationES6.ts:1:14: An argument for 'a' was not provided.

View File

@ -29,12 +29,12 @@ tests/cases/compiler/blockScopedSameNameFunctionDeclarationStrictES5.ts(17,1): e
}
foo(10);
foo(); // not ok - needs number
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/blockScopedSameNameFunctionDeclarationStrictES5.ts:2:14: An argument for 'a' was not provided.
}
foo(10);
foo(); // not ok - needs number
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/blockScopedSameNameFunctionDeclarationStrictES5.ts:2:14: An argument for 'a' was not provided.

View File

@ -23,12 +23,12 @@ tests/cases/compiler/blockScopedSameNameFunctionDeclarationStrictES6.ts(17,1): e
}
foo(10);
foo(); // not ok
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/blockScopedSameNameFunctionDeclarationStrictES6.ts:2:14: An argument for 'a' was not provided.
}
foo(10);
foo(); // not ok - needs number
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/blockScopedSameNameFunctionDeclarationStrictES6.ts:2:14: An argument for 'a' was not provided.

View File

@ -22,6 +22,6 @@ tests/cases/compiler/callOnInstance.ts(10,1): error TS2349: This expression is n
declare class C { constructor(value: number); }
(new C(1))(); // Error for calling an instance
~~~~~~~~~~~~
~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'C' has no call signatures.

View File

@ -19,7 +19,7 @@ tests/cases/conformance/expressions/functionCalls/callOverload.ts(11,10): error
!!! error TS2554: Expected 2 arguments, but got 4.
withRest('a', ...n); // no error
withRest();
~~~~~~~~
~~~~~~~~~~
!!! error TS2555: Expected at least 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callOverload.ts:3:27: An argument for 'a' was not provided.
withRest(...n);

View File

@ -28,19 +28,19 @@ tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts(75,1):
declare const xAny: X<any>;
xAny.f() // error, any still expects an argument
~
~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:3:7: An argument for 't' was not provided.
declare const xUnknown: X<unknown>;
xUnknown.f() // error, unknown still expects an argument
~
~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:3:7: An argument for 't' was not provided.
declare const xNever: X<never>;
xNever.f() // error, never still expects an argument
~
~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:3:7: An argument for 't' was not provided.
@ -56,15 +56,15 @@ tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts(75,1):
new MyPromise<void>(resolve => resolve()); // no error
new MyPromise<void | number>(resolve => resolve()); // no error
new MyPromise<any>(resolve => resolve()); // error, `any` arguments cannot be omitted
~~~~~~~
~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:28:38: An argument for 'value' was not provided.
new MyPromise<unknown>(resolve => resolve()); // error, `unknown` arguments cannot be omitted
~~~~~~~
~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:28:38: An argument for 'value' was not provided.
new MyPromise<never>(resolve => resolve()); // error, `never` arguments cannot be omitted
~~~~~~~
~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:28:38: An argument for 'value' was not provided.
@ -78,7 +78,7 @@ tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts(75,1):
a(4, "hello"); // ok
a(4, "hello", void 0); // ok
a(4); // not ok
~
~~~~
!!! error TS2554: Expected 3 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:42:23: An argument for 'y' was not provided.
@ -88,15 +88,15 @@ tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts(75,1):
b(4, "hello", void 0, 2); // ok
b(4, "hello"); // not ok
~
~~~~~~~~~~~~~
!!! error TS2554: Expected 4 arguments, but got 2.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:50:34: An argument for 'z' was not provided.
b(4, "hello", void 0); // not ok
~
~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 4 arguments, but got 3.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:50:43: An argument for 'what' was not provided.
b(4); // not ok
~
~~~~
!!! error TS2554: Expected 4 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:50:23: An argument for 'y' was not provided.
@ -117,7 +117,7 @@ tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts(75,1):
...args: TS): void;
call((x: number, y: number) => x + y) // error
~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/expressions/functionCalls/callWithMissingVoid.ts:73:5: An argument for 'args' was not provided.
call((x: number, y: number) => x + y, 4, 2) // ok

View File

@ -38,7 +38,7 @@ tests/cases/conformance/salsa/second.ts(17,15): error TS2345: Argument of type '
class Sql extends Wagon {
constructor() {
super(); // error: not enough arguments
~~~~~
~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/salsa/first.js:5:16: An argument for 'numberOxen' was not provided.
this.foonly = 12

View File

@ -59,7 +59,7 @@ tests/cases/compiler/computedPropertiesInDestructuring1.ts(34,5): error TS2365:
// report errors on type errors in computed properties used in destructuring
let [{[foo()]: bar6}] = [{bar: "bar"}];
~~~~~
~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
~~~~~
@ -89,7 +89,7 @@ tests/cases/compiler/computedPropertiesInDestructuring1.ts(34,5): error TS2365:
!!! error TS2537: Type '{ bar: string; }' has no matching index signature for type 'string'.
[{[foo()]: bar4}] = [{bar: "bar"}];
~~~~~
~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
~~~~~

View File

@ -60,7 +60,7 @@ tests/cases/compiler/computedPropertiesInDestructuring1_ES6.ts(35,5): error TS23
// report errors on type errors in computed properties used in destructuring
let [{[foo()]: bar6}] = [{bar: "bar"}];
~~~~~
~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
~~~~~
@ -90,7 +90,7 @@ tests/cases/compiler/computedPropertiesInDestructuring1_ES6.ts(35,5): error TS23
!!! error TS2537: Type '{ bar: string; }' has no matching index signature for type 'string'.
[{[foo()]: bar4}] = [{bar: "bar"}];
~~~~~
~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
~~~~~

View File

@ -1,4 +1,4 @@
tests/cases/conformance/decorators/class/constructableDecoratorOnClass01.ts(3,1): error TS1238: Unable to resolve signature of class decorator when called as an expression.
tests/cases/conformance/decorators/class/constructableDecoratorOnClass01.ts(3,2): error TS1238: Unable to resolve signature of class decorator when called as an expression.
This expression is not callable.
Type 'typeof CtorDtor' has no call signatures.
@ -7,7 +7,7 @@ tests/cases/conformance/decorators/class/constructableDecoratorOnClass01.ts(3,1)
class CtorDtor {}
@CtorDtor
~~~~~~~~~
~~~~~~~~
!!! error TS1238: Unable to resolve signature of class decorator when called as an expression.
!!! error TS1238: This expression is not callable.
!!! error TS1238: Type 'typeof CtorDtor' has no call signatures.

View File

@ -15,6 +15,6 @@ tests/cases/compiler/derivedTypeCallingBaseImplWithOptionalParams.ts(13,3): erro
var y: MyClass = new MyClass();
y.myMethod(); // error
~~~~~~~~
~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/derivedTypeCallingBaseImplWithOptionalParams.ts:5:14: An argument for 'myList' was not provided.

View File

@ -1,4 +1,4 @@
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNew.ts(6,1): error TS2351: This expression is not constructable.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNew.ts(6,5): error TS2351: This expression is not constructable.
Type 'Number' has no construct signatures.
@ -9,6 +9,6 @@ tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNew
new a ** b ** c;
new a ** new b ** c;
new (a ** b ** c);
~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'Number' has no construct signatures.

View File

@ -8,7 +8,7 @@ tests/cases/compiler/functionCall11.ts(6,15): error TS2554: Expected 1-2 argumen
foo('foo', 1);
foo('foo');
foo();
~~~
~~~~~
!!! error TS2554: Expected 1-2 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionCall11.ts:1:14: An argument for 'a' was not provided.
foo(1, 'bar');

View File

@ -8,7 +8,7 @@ tests/cases/compiler/functionCall12.ts(7,15): error TS2345: Argument of type '3'
foo('foo', 1);
foo('foo');
foo();
~~~
~~~~~
!!! error TS2554: Expected 1-3 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionCall12.ts:1:14: An argument for 'a' was not provided.
foo(1, 'bar');

View File

@ -7,7 +7,7 @@ tests/cases/compiler/functionCall13.ts(5,5): error TS2345: Argument of type '1'
foo('foo', 1);
foo('foo');
foo();
~~~
~~~~~
!!! error TS2555: Expected at least 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionCall13.ts:1:14: An argument for 'a' was not provided.
foo(1, 'bar');

View File

@ -11,7 +11,7 @@ tests/cases/compiler/functionCall16.ts(6,5): error TS2345: Argument of type '1'
foo('foo');
foo('foo', 'bar');
foo();
~~~
~~~~~
!!! error TS2555: Expected at least 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionCall16.ts:1:14: An argument for 'a' was not provided.
foo(1, 'bar');

View File

@ -11,7 +11,7 @@ tests/cases/compiler/functionCall17.ts(6,12): error TS2345: Argument of type '1'
!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'.
foo('foo');
foo();
~~~
~~~~~
!!! error TS2555: Expected at least 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionCall17.ts:1:14: An argument for 'a' was not provided.
foo(1, 'bar');

View File

@ -6,7 +6,7 @@ tests/cases/compiler/functionCall18.ts(4,1): error TS2554: Expected 2 arguments,
declare function foo<T>(a: T, b: T);
declare function foo(a: {});
foo<string>("hello");
~~~
~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 1.
!!! related TS6210 tests/cases/compiler/functionCall18.ts:2:31: An argument for 'b' was not provided.

View File

@ -13,7 +13,7 @@ tests/cases/compiler/functionCall6.ts(5,1): error TS2554: Expected 1 arguments,
~~~~~
!!! error TS2554: Expected 1 arguments, but got 2.
foo();
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionCall6.ts:1:14: An argument for 'a' was not provided.

View File

@ -15,7 +15,7 @@ tests/cases/compiler/functionCall7.ts(7,1): error TS2554: Expected 1 arguments,
~
!!! error TS2345: Argument of type '4' is not assignable to parameter of type 'c1'.
foo();
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionCall7.ts:2:14: An argument for 'a' was not provided.

View File

@ -7,7 +7,7 @@ tests/cases/compiler/functionExpressionShadowedByParams.ts(10,9): error TS2339:
function b1(b1: number) {
b1.toPrecision(2); // should not error
b1(12); // should error
~~~~~~
~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'Number' has no call signatures.
}

View File

@ -6,7 +6,7 @@ tests/cases/compiler/functionOverloads29.ts(4,9): error TS2554: Expected 1 argum
function foo(bar:number):number;
function foo(bar:any):any{ return bar }
var x = foo();
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionOverloads29.ts:1:14: An argument for 'bar' was not provided.

View File

@ -6,7 +6,7 @@ tests/cases/compiler/functionOverloads34.ts(4,9): error TS2554: Expected 1 argum
function foo(bar:{a:boolean;}):number;
function foo(bar:{a:any;}):any{ return bar }
var x = foo();
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionOverloads34.ts:1:14: An argument for 'bar' was not provided.

View File

@ -6,7 +6,7 @@ tests/cases/compiler/functionOverloads37.ts(4,9): error TS2554: Expected 1 argum
function foo(bar:{a:boolean;}[]):number;
function foo(bar:{a:any;}[]):any{ return bar }
var x = foo();
~~~
~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionOverloads37.ts:1:14: An argument for 'bar' was not provided.

View File

@ -11,11 +11,11 @@ tests/cases/compiler/functionParameterArityMismatch.ts(14,22): error TS2554: Exp
declare function f1(a: number);
declare function f1(a: number, b: number, c: number);
f1();
~~
~~~~
!!! error TS2554: Expected 1-3 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/functionParameterArityMismatch.ts:1:21: An argument for 'a' was not provided.
f1(1, 2);
~~
~~~~~~~~
!!! error TS2575: No overload expects 2 arguments, but overloads do exist that expect either 1 or 3 arguments.
f1(1, 2, 3, 4);
~
@ -26,13 +26,13 @@ tests/cases/compiler/functionParameterArityMismatch.ts(14,22): error TS2554: Exp
declare function f2(a: number, b: number, c: number, d: number);
declare function f2(a: number, b: number, c: number, d: number, e: number, f: number);
f2(1);
~~
~~~~~
!!! error TS2575: No overload expects 1 arguments, but overloads do exist that expect either 0 or 2 arguments.
f2(1, 2, 3);
~~
~~~~~~~~~~~
!!! error TS2575: No overload expects 3 arguments, but overloads do exist that expect either 2 or 4 arguments.
f2(1, 2, 3, 4, 5);
~~
~~~~~~~~~~~~~~~~~
!!! error TS2575: No overload expects 5 arguments, but overloads do exist that expect either 4 or 6 arguments.
f2(1, 2, 3, 4, 5, 6, 7);
~

View File

@ -1,4 +1,4 @@
tests/cases/compiler/genericArrayAssignmentCompatErrors.ts(2,15): error TS2351: This expression is not constructable.
tests/cases/compiler/genericArrayAssignmentCompatErrors.ts(2,19): error TS2351: This expression is not constructable.
Type 'undefined[]' has no construct signatures.
tests/cases/compiler/genericArrayAssignmentCompatErrors.ts(4,14): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
@ -6,7 +6,7 @@ tests/cases/compiler/genericArrayAssignmentCompatErrors.ts(4,14): error TS2314:
==== tests/cases/compiler/genericArrayAssignmentCompatErrors.ts (2 errors) ====
var myCars=new Array();
var myCars2 = new [];
~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'undefined[]' has no construct signatures.
var myCars3 = new Array({});

View File

@ -9,7 +9,7 @@ tests/cases/compiler/genericFunctionsWithOptionalParameters2.ts(7,7): error TS25
var utils: Utils;
utils.fold(); // error
~~~~
~~~~~~
!!! error TS2554: Expected 1-3 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/genericFunctionsWithOptionalParameters2.ts:2:15: An argument for 'c' was not provided.
utils.fold(null); // no error

View File

@ -10,7 +10,7 @@ tests/cases/conformance/types/rest/genericRestArity.ts(8,45): error TS2554: Expe
...args: TS): void;
call((x: number, y: number) => x + y);
~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/types/rest/genericRestArity.ts:5:5: An argument for 'args' was not provided.
call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7);

View File

@ -10,7 +10,7 @@ tests/cases/conformance/types/rest/genericRestArityStrict.ts(8,45): error TS2554
...args: TS): void;
call((x: number, y: number) => x + y);
~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/types/rest/genericRestArityStrict.ts:5:5: An argument for 'args' was not provided.
call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7);

View File

@ -87,7 +87,7 @@ tests/cases/conformance/types/rest/genericRestParameters3.ts(53,5): error TS2345
declare function foo<T extends any[]>(cb: (...args: T) => void): void;
foo<CoolArray<any>>(); // Error
~~~
~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/rest/genericRestParameters3.ts:27:39: An argument for 'cb' was not provided.
foo<CoolArray<any>>(100); // Error

View File

@ -1,10 +1,10 @@
tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIntoClassType.ts(4,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIntoClassType.ts(7,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIntoClassType.ts(19,14): error TS2349: This expression is not callable.
tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIntoClassType.ts(19,16): error TS2349: This expression is not callable.
Type 'Number' has no call signatures.
tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIntoClassType.ts(26,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIntoClassType.ts(29,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIntoClassType.ts(41,14): error TS2349: This expression is not callable.
tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIntoClassType.ts(41,16): error TS2349: This expression is not callable.
Type 'String' has no call signatures.
@ -32,7 +32,7 @@ tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIn
var r3 = r.y;
r.y = 4;
var r6 = d.y(); // error
~~~~~
~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'Number' has no call signatures.
@ -61,7 +61,7 @@ tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIn
var r3 = r.y;
r.y = '';
var r6 = d.y(); // error
~~~~~
~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
}

View File

@ -1,10 +1,10 @@
tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.ts(4,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.ts(7,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.ts(17,14): error TS2349: This expression is not callable.
tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.ts(17,16): error TS2349: This expression is not callable.
Type 'Number' has no call signatures.
tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.ts(24,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.ts(27,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.ts(37,14): error TS2349: This expression is not callable.
tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.ts(37,16): error TS2349: This expression is not callable.
Type 'String' has no call signatures.
@ -30,7 +30,7 @@ tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.t
var r3 = r.y;
r.y = 4;
var r6 = c.y(); // error
~~~~~
~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'Number' has no call signatures.
@ -57,7 +57,7 @@ tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.t
var r3 = r.y;
r.y = '';
var r6 = c.y(); // error
~~~~~
~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
}

View File

@ -3,14 +3,14 @@ tests/cases/compiler/intTypeCheck.ts(71,6): error TS2304: Cannot find name 'p'.
tests/cases/compiler/intTypeCheck.ts(85,5): error TS2386: Overload signatures must all be optional or required.
tests/cases/compiler/intTypeCheck.ts(99,5): error TS2696: The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
Type 'Object' is missing the following properties from type 'i1': p, p3, p6
tests/cases/compiler/intTypeCheck.ts(100,16): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(100,20): error TS2351: This expression is not constructable.
Type 'i1' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(101,5): error TS2739: Type 'Base' is missing the following properties from type 'i1': p, p3, p6
tests/cases/compiler/intTypeCheck.ts(103,5): error TS2739: Type '() => void' is missing the following properties from type 'i1': p, p3, p6
tests/cases/compiler/intTypeCheck.ts(106,5): error TS2322: Type 'boolean' is not assignable to type 'i1'.
tests/cases/compiler/intTypeCheck.ts(106,20): error TS1109: Expression expected.
tests/cases/compiler/intTypeCheck.ts(106,21): error TS2693: 'i1' only refers to a type, but is being used as a value here.
tests/cases/compiler/intTypeCheck.ts(107,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(107,21): error TS2351: This expression is not constructable.
Type '{}' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(112,5): error TS2322: Type '{}' is not assignable to type 'i2'.
Type '{}' provides no match for the signature '(): any'.
@ -23,7 +23,7 @@ tests/cases/compiler/intTypeCheck.ts(115,5): error TS2322: Type 'Base' is not as
tests/cases/compiler/intTypeCheck.ts(120,5): error TS2322: Type 'boolean' is not assignable to type 'i2'.
tests/cases/compiler/intTypeCheck.ts(120,21): error TS1109: Expression expected.
tests/cases/compiler/intTypeCheck.ts(120,22): error TS2693: 'i2' only refers to a type, but is being used as a value here.
tests/cases/compiler/intTypeCheck.ts(121,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(121,21): error TS2351: This expression is not constructable.
Type '{}' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(126,5): error TS2322: Type '{}' is not assignable to type 'i3'.
Type '{}' provides no match for the signature 'new (): any'.
@ -37,26 +37,26 @@ tests/cases/compiler/intTypeCheck.ts(131,5): error TS2322: Type '() => void' is
tests/cases/compiler/intTypeCheck.ts(134,5): error TS2322: Type 'boolean' is not assignable to type 'i3'.
tests/cases/compiler/intTypeCheck.ts(134,21): error TS1109: Expression expected.
tests/cases/compiler/intTypeCheck.ts(134,22): error TS2693: 'i3' only refers to a type, but is being used as a value here.
tests/cases/compiler/intTypeCheck.ts(135,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(135,21): error TS2351: This expression is not constructable.
Type '{}' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(142,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(142,21): error TS2351: This expression is not constructable.
Type 'i4' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(148,5): error TS2322: Type 'boolean' is not assignable to type 'i4'.
tests/cases/compiler/intTypeCheck.ts(148,21): error TS1109: Expression expected.
tests/cases/compiler/intTypeCheck.ts(148,22): error TS2693: 'i4' only refers to a type, but is being used as a value here.
tests/cases/compiler/intTypeCheck.ts(149,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(149,21): error TS2351: This expression is not constructable.
Type '{}' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(154,5): error TS2739: Type '{}' is missing the following properties from type 'i5': p, p3, p6
tests/cases/compiler/intTypeCheck.ts(155,5): error TS2696: The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
Type 'Object' is missing the following properties from type 'i5': p, p3, p6
tests/cases/compiler/intTypeCheck.ts(156,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(156,21): error TS2351: This expression is not constructable.
Type 'i5' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(157,5): error TS2739: Type 'Base' is missing the following properties from type 'i5': p, p3, p6
tests/cases/compiler/intTypeCheck.ts(159,5): error TS2739: Type '() => void' is missing the following properties from type 'i5': p, p3, p6
tests/cases/compiler/intTypeCheck.ts(162,5): error TS2322: Type 'boolean' is not assignable to type 'i5'.
tests/cases/compiler/intTypeCheck.ts(162,21): error TS1109: Expression expected.
tests/cases/compiler/intTypeCheck.ts(162,22): error TS2693: 'i5' only refers to a type, but is being used as a value here.
tests/cases/compiler/intTypeCheck.ts(163,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(163,21): error TS2351: This expression is not constructable.
Type '{}' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(168,5): error TS2322: Type '{}' is not assignable to type 'i6'.
Type '{}' provides no match for the signature '(): any'.
@ -71,7 +71,7 @@ tests/cases/compiler/intTypeCheck.ts(173,5): error TS2322: Type '() => void' is
tests/cases/compiler/intTypeCheck.ts(176,5): error TS2322: Type 'boolean' is not assignable to type 'i6'.
tests/cases/compiler/intTypeCheck.ts(176,21): error TS1109: Expression expected.
tests/cases/compiler/intTypeCheck.ts(176,22): error TS2693: 'i6' only refers to a type, but is being used as a value here.
tests/cases/compiler/intTypeCheck.ts(177,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(177,21): error TS2351: This expression is not constructable.
Type '{}' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(182,5): error TS2322: Type '{}' is not assignable to type 'i7'.
Type '{}' provides no match for the signature 'new (): any'.
@ -85,14 +85,14 @@ tests/cases/compiler/intTypeCheck.ts(187,5): error TS2322: Type '() => void' is
tests/cases/compiler/intTypeCheck.ts(190,5): error TS2322: Type 'boolean' is not assignable to type 'i7'.
tests/cases/compiler/intTypeCheck.ts(190,21): error TS1109: Expression expected.
tests/cases/compiler/intTypeCheck.ts(190,22): error TS2693: 'i7' only refers to a type, but is being used as a value here.
tests/cases/compiler/intTypeCheck.ts(191,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(191,21): error TS2351: This expression is not constructable.
Type '{}' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(198,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(198,21): error TS2351: This expression is not constructable.
Type 'i8' has no construct signatures.
tests/cases/compiler/intTypeCheck.ts(204,5): error TS2322: Type 'boolean' is not assignable to type 'i8'.
tests/cases/compiler/intTypeCheck.ts(204,21): error TS1109: Expression expected.
tests/cases/compiler/intTypeCheck.ts(204,22): error TS2693: 'i8' only refers to a type, but is being used as a value here.
tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is not constructable.
tests/cases/compiler/intTypeCheck.ts(205,21): error TS2351: This expression is not constructable.
Type '{}' has no construct signatures.
@ -206,7 +206,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
!!! error TS2696: The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
!!! error TS2696: Type 'Object' is missing the following properties from type 'i1': p, p3, p6
var obj3: i1 = new obj0;
~~~~~~~~
~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'i1' has no construct signatures.
var obj4: i1 = new Base;
@ -226,7 +226,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
~~
!!! error TS2693: 'i1' only refers to a type, but is being used as a value here.
var obj10: i1 = new {};
~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type '{}' has no construct signatures.
//
@ -261,7 +261,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
~~
!!! error TS2693: 'i2' only refers to a type, but is being used as a value here.
var obj21: i2 = new {};
~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type '{}' has no construct signatures.
//
@ -297,7 +297,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
~~
!!! error TS2693: 'i3' only refers to a type, but is being used as a value here.
var obj32: i3 = new {};
~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type '{}' has no construct signatures.
//
@ -307,7 +307,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
var obj34: i4 = {};
var obj35: i4 = new Object();
var obj36: i4 = new obj33;
~~~~~~~~~
~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'i4' has no construct signatures.
var obj37: i4 = new Base;
@ -323,7 +323,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
~~
!!! error TS2693: 'i4' only refers to a type, but is being used as a value here.
var obj43: i4 = new {};
~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type '{}' has no construct signatures.
//
@ -338,7 +338,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
!!! error TS2696: The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
!!! error TS2696: Type 'Object' is missing the following properties from type 'i5': p, p3, p6
var obj47: i5 = new obj44;
~~~~~~~~~
~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'i5' has no construct signatures.
var obj48: i5 = new Base;
@ -358,7 +358,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
~~
!!! error TS2693: 'i5' only refers to a type, but is being used as a value here.
var obj54: i5 = new {};
~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type '{}' has no construct signatures.
//
@ -396,7 +396,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
~~
!!! error TS2693: 'i6' only refers to a type, but is being used as a value here.
var obj65: i6 = new {};
~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type '{}' has no construct signatures.
//
@ -432,7 +432,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
~~
!!! error TS2693: 'i7' only refers to a type, but is being used as a value here.
var obj76: i7 = new {};
~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type '{}' has no construct signatures.
//
@ -442,7 +442,7 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
var obj78: i8 = {};
var obj79: i8 = new Object();
var obj80: i8 = new obj77;
~~~~~~~~~
~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'i8' has no construct signatures.
var obj81: i8 = new Base;
@ -458,6 +458,6 @@ tests/cases/compiler/intTypeCheck.ts(205,17): error TS2351: This expression is n
~~
!!! error TS2693: 'i8' only refers to a type, but is being used as a value here.
var obj87: i8 = new {};
~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type '{}' has no construct signatures.

View File

@ -4,5 +4,5 @@ tests/cases/conformance/es6/destructuring/iterableArrayPattern25.ts(2,1): error
==== tests/cases/conformance/es6/destructuring/iterableArrayPattern25.ts (1 errors) ====
function takeFirstTwoEntries(...[[k1, v1], [k2, v2]]) { }
takeFirstTwoEntries(new Map([["", 0], ["hello", 1]]));
~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 1.

View File

@ -14,15 +14,15 @@ tests/cases/compiler/bar.ts(3,1): error TS2554: Expected 3 arguments, but got 2.
==== tests/cases/compiler/bar.ts (3 errors) ====
f(); // Error
~
~~~
!!! error TS2554: Expected 3 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/foo.js:6:12: An argument for 'a' was not provided.
f(1); // Error
~
~~~~
!!! error TS2554: Expected 3 arguments, but got 1.
!!! related TS6210 tests/cases/compiler/foo.js:6:15: An argument for 'b' was not provided.
f(1, 2); // Error
~
~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 2.
!!! related TS6210 tests/cases/compiler/foo.js:6:18: An argument for 'c' was not provided.

View File

@ -15,15 +15,15 @@ tests/cases/conformance/jsdoc/a.js(13,1): error TS2554: Expected 1 arguments, bu
}
f() // should error
~
~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/jsdoc/a.js:1:21: An argument for '0' was not provided.
g() // should error
~
~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/jsdoc/a.js:5:12: An argument for 's' was not provided.
h()
~
~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/jsdoc/a.js:8:12: An argument for 's' was not provided.

View File

@ -1,8 +1,11 @@
tests/cases/compiler/methodChainError.ts(9,6): error TS2554: Expected 1 arguments, but got 0.
tests/cases/compiler/methodChainError.ts(10,6): error TS2554: Expected 1 arguments, but got 0.
tests/cases/compiler/methodChainError.ts(16,6): error TS2349: This expression is not callable.
Type 'String' has no call signatures.
==== tests/cases/compiler/methodChainError.ts (1 errors) ====
==== tests/cases/compiler/methodChainError.ts (2 errors) ====
class Builder {
notMethod: string
method(param: string): Builder {
return this;
}
@ -10,7 +13,17 @@ tests/cases/compiler/methodChainError.ts(9,6): error TS2554: Expected 1 argument
new Builder()
.method("a")
.method();
~~~~~~
.method()
~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/methodChainError.ts:2:12: An argument for 'param' was not provided.
!!! related TS6210 tests/cases/compiler/methodChainError.ts:3:12: An argument for 'param' was not provided.
.method("a");
new Builder()
.method("a")
.notMethod()
~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
.method("a");

View File

@ -1,5 +1,6 @@
//// [methodChainError.ts]
class Builder {
notMethod: string
method(param: string): Builder {
return this;
}
@ -7,7 +8,14 @@ class Builder {
new Builder()
.method("a")
.method();
.method()
.method("a");
new Builder()
.method("a")
.notMethod()
.method("a");
//// [methodChainError.js]
var Builder = /** @class */ (function () {
@ -20,4 +28,9 @@ var Builder = /** @class */ (function () {
}());
new Builder()
.method("a")
.method();
.method()
.method("a");
new Builder()
.method("a")
.notMethod()
.method("a");

View File

@ -2,9 +2,12 @@
class Builder {
>Builder : Symbol(Builder, Decl(methodChainError.ts, 0, 0))
notMethod: string
>notMethod : Symbol(Builder.notMethod, Decl(methodChainError.ts, 0, 15))
method(param: string): Builder {
>method : Symbol(Builder.method, Decl(methodChainError.ts, 0, 15))
>param : Symbol(param, Decl(methodChainError.ts, 1, 11))
>method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21))
>param : Symbol(param, Decl(methodChainError.ts, 2, 11))
>Builder : Symbol(Builder, Decl(methodChainError.ts, 0, 0))
return this;
@ -13,13 +16,28 @@ class Builder {
}
new Builder()
>new Builder() .method("a") .method : Symbol(Builder.method, Decl(methodChainError.ts, 0, 15))
>new Builder() .method : Symbol(Builder.method, Decl(methodChainError.ts, 0, 15))
>new Builder() .method("a") .method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21))
>new Builder() .method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21))
>Builder : Symbol(Builder, Decl(methodChainError.ts, 0, 0))
.method("a")
>method : Symbol(Builder.method, Decl(methodChainError.ts, 0, 15))
>method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21))
.method();
>method : Symbol(Builder.method, Decl(methodChainError.ts, 0, 15))
.method()
>method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21))
.method("a");
new Builder()
>new Builder() .method("a") .notMethod : Symbol(Builder.notMethod, Decl(methodChainError.ts, 0, 15))
>new Builder() .method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21))
>Builder : Symbol(Builder, Decl(methodChainError.ts, 0, 0))
.method("a")
>method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21))
.notMethod()
>notMethod : Symbol(Builder.notMethod, Decl(methodChainError.ts, 0, 15))
.method("a");

View File

@ -2,6 +2,9 @@
class Builder {
>Builder : Builder
notMethod: string
>notMethod : string
method(param: string): Builder {
>method : (param: string) => Builder
>param : string
@ -12,6 +15,8 @@ class Builder {
}
new Builder()
>new Builder() .method("a") .method() .method("a") : any
>new Builder() .method("a") .method() .method : any
>new Builder() .method("a") .method() : Builder
>new Builder() .method("a") .method : (param: string) => Builder
>new Builder() .method("a") : Builder
@ -23,6 +28,32 @@ new Builder()
>method : (param: string) => Builder
>"a" : "a"
.method();
.method()
>method : (param: string) => Builder
.method("a");
>method : any
>"a" : "a"
new Builder()
>new Builder() .method("a") .notMethod() .method("a") : any
>new Builder() .method("a") .notMethod() .method : any
>new Builder() .method("a") .notMethod() : any
>new Builder() .method("a") .notMethod : string
>new Builder() .method("a") : Builder
>new Builder() .method : (param: string) => Builder
>new Builder() : Builder
>Builder : typeof Builder
.method("a")
>method : (param: string) => Builder
>"a" : "a"
.notMethod()
>notMethod : string
.method("a");
>method : any
>"a" : "a"

View File

@ -6,7 +6,7 @@ tests/cases/conformance/salsa/a.js(4,6): error TS2554: Expected 1 arguments, but
var mod1 = require('./mod1')
mod1()
mod1.f() // error, not enough arguments
~
~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 /.src/tests/cases/conformance/salsa/mod1.js:4:30: An argument for 'a' was not provided.

View File

@ -31,7 +31,7 @@ tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(33,7): error
~~~~~~
!!! error TS2339: Property 'method' does not exist on type '{}'.
x();
~~~
~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type '{}' has no call signatures.
}

View File

@ -35,7 +35,7 @@ tests/cases/conformance/types/never/neverTypeErrors1.ts(24,17): error TS2407: Th
~
!!! error TS2322: Type '{}' is not assignable to type 'never'.
x();
~~~
~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'never' has no call signatures.
}

View File

@ -35,7 +35,7 @@ tests/cases/conformance/types/never/neverTypeErrors2.ts(24,17): error TS2407: Th
~
!!! error TS2322: Type '{}' is not assignable to type 'never'.
x();
~~~
~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'never' has no call signatures.
}

View File

@ -1,4 +1,4 @@
tests/cases/compiler/newAbstractInstance.ts(3,1): error TS2351: This expression is not constructable.
tests/cases/compiler/newAbstractInstance.ts(3,5): error TS2351: This expression is not constructable.
Type 'B' has no construct signatures.
@ -6,7 +6,7 @@ tests/cases/compiler/newAbstractInstance.ts(3,1): error TS2351: This expression
abstract class B { }
declare const b: B;
new b();
~~~~~~~
~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'B' has no construct signatures.

View File

@ -1,4 +1,4 @@
tests/cases/compiler/newOnInstanceSymbol.ts(3,1): error TS2351: This expression is not constructable.
tests/cases/compiler/newOnInstanceSymbol.ts(3,5): error TS2351: This expression is not constructable.
Type 'C' has no construct signatures.
@ -6,6 +6,6 @@ tests/cases/compiler/newOnInstanceSymbol.ts(3,1): error TS2351: This expression
class C {}
var x = new C(); // should be ok
new x(); // should error
~~~~~~~
~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'C' has no construct signatures.

View File

@ -1,7 +1,7 @@
tests/cases/compiler/newOperator.ts(3,13): error TS2693: 'ifc' only refers to a type, but is being used as a value here.
tests/cases/compiler/newOperator.ts(10,10): error TS2351: This expression is not constructable.
tests/cases/compiler/newOperator.ts(10,14): error TS2351: This expression is not constructable.
Type 'Number' has no construct signatures.
tests/cases/compiler/newOperator.ts(11,10): error TS2351: This expression is not constructable.
tests/cases/compiler/newOperator.ts(11,14): error TS2351: This expression is not constructable.
Type 'String' has no construct signatures.
tests/cases/compiler/newOperator.ts(12,5): error TS2693: 'string' only refers to a type, but is being used as a value here.
tests/cases/compiler/newOperator.ts(18,14): error TS2693: 'string' only refers to a type, but is being used as a value here.
@ -9,14 +9,14 @@ tests/cases/compiler/newOperator.ts(18,21): error TS1011: An element access expr
tests/cases/compiler/newOperator.ts(21,1): error TS2693: 'string' only refers to a type, but is being used as a value here.
tests/cases/compiler/newOperator.ts(22,2): error TS1011: An element access expression should take an argument.
tests/cases/compiler/newOperator.ts(28,13): error TS2304: Cannot find name 'q'.
tests/cases/compiler/newOperator.ts(31,10): error TS2351: This expression is not constructable.
tests/cases/compiler/newOperator.ts(31,14): error TS2351: This expression is not constructable.
Type 'Date' has no construct signatures.
tests/cases/compiler/newOperator.ts(38,1): error TS2351: This expression is not constructable.
tests/cases/compiler/newOperator.ts(38,5): error TS2351: This expression is not constructable.
No constituent of type '{ a: string; } | { b: string; }' is constructable.
tests/cases/compiler/newOperator.ts(42,1): error TS2351: This expression is not constructable.
tests/cases/compiler/newOperator.ts(42,5): error TS2351: This expression is not constructable.
Not all constituents of type '{ a: string; } | (new (a: string) => void)' are constructable.
Type '{ a: string; }' has no construct signatures.
tests/cases/compiler/newOperator.ts(46,1): error TS2351: This expression is not constructable.
tests/cases/compiler/newOperator.ts(46,5): error TS2351: This expression is not constructable.
Each member of the union type '(new <T extends number>(a: T) => void) | (new <T>(a: string) => void)' has construct signatures, but none of those signatures are compatible with each other.
tests/cases/compiler/newOperator.ts(56,24): error TS1011: An element access expression should take an argument.
@ -34,11 +34,11 @@ tests/cases/compiler/newOperator.ts(56,24): error TS1011: An element access expr
// Target is not a class or var, good error
var t1 = new 53();
~~~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'Number' has no construct signatures.
var t2 = new ''();
~~~~~~~~
~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'String' has no construct signatures.
new string;
@ -73,7 +73,7 @@ tests/cases/compiler/newOperator.ts(56,24): error TS1011: An element access expr
// not legal
var t5 = new new Date;
~~~~~~~~~~~~
~~~~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'Date' has no construct signatures.
@ -83,14 +83,14 @@ tests/cases/compiler/newOperator.ts(56,24): error TS1011: An element access expr
// Error on union
declare const union: { a: string } | { b: string }
new union;
~~~~~~~~~
~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: No constituent of type '{ a: string; } | { b: string; }' is constructable.
// Error on union with one constructor
declare const ctorUnion: { a: string } | (new (a: string) => void)
new ctorUnion("");
~~~~~~~~~~~~~~~~~
~~~~~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Not all constituents of type '{ a: string; } | (new (a: string) => void)' are constructable.
!!! error TS2351: Type '{ a: string; }' has no construct signatures.
@ -98,7 +98,7 @@ tests/cases/compiler/newOperator.ts(56,24): error TS1011: An element access expr
// Error on union with incompatible constructors
declare const ctorUnion2: (new <T extends number>(a: T) => void) | (new <T>(a: string) => void)
new ctorUnion2("");
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Each member of the union type '(new <T extends number>(a: T) => void) | (new <T>(a: string) => void)' has construct signatures, but none of those signatures are compatible with each other.

View File

@ -86,7 +86,7 @@ tests/cases/conformance/types/spread/objectSpreadNegative.ts(58,11): error TS233
// functions are skipped
let spreadFunc = { ...function () { } }
spreadFunc(); // error, no call signature
~~~~~~~~~~~~
~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type '{}' has no call signatures.

View File

@ -137,19 +137,19 @@ tests/cases/compiler/optionalParamArgsTest.ts(117,1): error TS2554: Expected 1-2
~
!!! error TS2554: Expected 0 arguments, but got 1.
c1o1.C1M2();
~~~~
~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/optionalParamArgsTest.ts:23:17: An argument for 'C1M2A1' was not provided.
i1o1.C1M2();
~~~~
~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/optionalParamArgsTest.ts:11:10: An argument for 'C1M2A1' was not provided.
F2();
~~
~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/optionalParamArgsTest.ts:45:13: An argument for 'F2A1' was not provided.
L2();
~~
~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/optionalParamArgsTest.ts:50:20: An argument for 'L2A1' was not provided.
c1o1.C1M2(1,2);
@ -177,19 +177,19 @@ tests/cases/compiler/optionalParamArgsTest.ts(117,1): error TS2554: Expected 1-2
~
!!! error TS2554: Expected 0-2 arguments, but got 3.
c1o1.C1M4();
~~~~
~~~~~~
!!! error TS2554: Expected 1-2 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/optionalParamArgsTest.ts:29:17: An argument for 'C1M4A1' was not provided.
i1o1.C1M4();
~~~~
~~~~~~
!!! error TS2554: Expected 1-2 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/optionalParamArgsTest.ts:13:10: An argument for 'C1M4A1' was not provided.
F4();
~~
~~~~
!!! error TS2554: Expected 1-2 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/optionalParamArgsTest.ts:47:13: An argument for 'F4A1' was not provided.
L4();
~~
~~~~
!!! error TS2554: Expected 1-2 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/optionalParamArgsTest.ts:52:20: An argument for 'L4A1' was not provided.

View File

@ -45,7 +45,7 @@ tests/cases/compiler/overload1.ts(34,9): error TS2345: Argument of type '2' is n
~
!!! error TS2554: Expected 1-2 arguments, but got 3.
z=x.g(); // no match
~
~~~
!!! error TS2554: Expected 1-2 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/overload1.ts:17:11: An argument for 'n' was not provided.
z=x.g(new O.B()); // ambiguous (up and down conversion)

View File

@ -17,7 +17,7 @@ tests/cases/compiler/overloadsAndTypeArgumentArityErrors.ts(9,1): error TS2554:
declare function f<A, B = {}>(arg: number): void;
f<number>(); // wrong number of arguments (#25683)
~
~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/overloadsAndTypeArgumentArityErrors.ts:8:31: An argument for 'arg' was not provided.

View File

@ -1,5 +1,5 @@
tests/cases/compiler/recursiveBaseConstructorCreation3.ts(6,27): error TS2314: Generic type 'abc<T>' requires 1 type argument(s).
tests/cases/compiler/recursiveBaseConstructorCreation3.ts(9,11): error TS2351: This expression is not constructable.
tests/cases/compiler/recursiveBaseConstructorCreation3.ts(9,15): error TS2351: This expression is not constructable.
Type 'typeof xyz' has no construct signatures.
@ -15,7 +15,7 @@ tests/cases/compiler/recursiveBaseConstructorCreation3.ts(9,11): error TS2351: T
}
var bar = new xyz(); // Error: Invalid 'new' expression.
~~~~~~~~~
~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'typeof xyz' has no construct signatures.
var r: xyz = bar.foo;

View File

@ -14,7 +14,7 @@ tests/cases/compiler/requiredInitializedParameter1.ts(16,1): error TS2554: Expec
f4(0, 1, 2);
f1(0, 1);
~~
~~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 2.
!!! related TS6210 tests/cases/compiler/requiredInitializedParameter1.ts:1:23: An argument for 'c' was not provided.
f2(0, 1);
@ -22,7 +22,7 @@ tests/cases/compiler/requiredInitializedParameter1.ts(16,1): error TS2554: Expec
f4(0, 1);
f1(0);
~~
~~~~~
!!! error TS2554: Expected 3 arguments, but got 1.
!!! related TS6210 tests/cases/compiler/requiredInitializedParameter1.ts:1:16: An argument for 'b' was not provided.
f2(0);

View File

@ -6,7 +6,7 @@ tests/cases/compiler/restParamsWithNonRestParams.ts(4,1): error TS2555: Expected
foo(); // ok
function foo2(a:string, ...b:number[]){}
foo2(); // should be an error
~~~~
~~~~~~
!!! error TS2555: Expected at least 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/restParamsWithNonRestParams.ts:3:15: An argument for 'a' was not provided.
function foo3(a?:string, ...b:number[]){}

View File

@ -10,6 +10,6 @@ tests/cases/compiler/spreadOfParamsFromGeneratorMakesRequiredParams.ts(6,1): err
): any;
call(function* (a: 'a') { }); // error, 2nd argument required
~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 1.
!!! related TS6210 tests/cases/compiler/spreadOfParamsFromGeneratorMakesRequiredParams.ts:3:5: An argument for 'args' was not provided.

View File

@ -1,4 +1,4 @@
tests/cases/compiler/staticMemberExportAccess.ts(14,35): error TS2351: This expression is not constructable.
tests/cases/compiler/staticMemberExportAccess.ts(14,39): error TS2351: This expression is not constructable.
Type 'Sammy' has no construct signatures.
tests/cases/compiler/staticMemberExportAccess.ts(17,18): error TS2576: Property 'bar' is a static member of type 'Sammy'
tests/cases/compiler/staticMemberExportAccess.ts(18,18): error TS2339: Property 'x' does not exist on type 'Sammy'.
@ -19,7 +19,7 @@ tests/cases/compiler/staticMemberExportAccess.ts(18,18): error TS2339: Property
}
var $: JQueryStatic;
var instanceOfClassSammy: Sammy = new $.sammy(); // should be error
~~~~~~~~~~~~~
~~~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'Sammy' has no construct signatures.
var r1 = instanceOfClassSammy.foo(); // r1 is string

View File

@ -47,7 +47,7 @@ tests/cases/conformance/functions/strictBindCallApply1.ts(72,12): error TS2345:
let c00 = foo.call(undefined, 10, "hello");
let c01 = foo.call(undefined, 10); // Error
~~~~
~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 2.
let c02 = foo.call(undefined, 10, 20); // Error
~~
@ -97,7 +97,7 @@ tests/cases/conformance/functions/strictBindCallApply1.ts(72,12): error TS2345:
let c10 = c.foo.call(c, 10, "hello");
let c11 = c.foo.call(c, 10); // Error
~~~~
~~~~~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 2.
let c12 = c.foo.call(c, 10, 20); // Error
~~
@ -132,7 +132,7 @@ tests/cases/conformance/functions/strictBindCallApply1.ts(72,12): error TS2345:
C.call(c, 10, "hello");
C.call(c, 10); // Error
~~~~
~~~~~~~~~~~
!!! error TS2554: Expected 3 arguments, but got 2.
C.call(c, 10, 20); // Error
~~

View File

@ -139,7 +139,7 @@ tests/cases/compiler/strictModeReservedWord.ts(24,5): error TS2349: This express
static();
~~~~~~
!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode.
~~~~~~~~
~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.
}

View File

@ -12,7 +12,7 @@ tests/cases/conformance/expressions/contextualTyping/superCallParameterContextua
class C extends A<number, string> {
// Ensure 'value' is not of type 'any' by invoking it with type arguments.
constructor() { super(value => String(value<string>())); }
~~~~~~~~~~~~~~~
~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'Number' has no call signatures.
}

View File

@ -1,5 +1,5 @@
tests/cases/compiler/superNewCall1.ts(8,5): error TS2377: Constructors for derived classes must contain a 'super' call.
tests/cases/compiler/superNewCall1.ts(9,9): error TS2351: This expression is not constructable.
tests/cases/compiler/superNewCall1.ts(9,13): error TS2351: This expression is not constructable.
Type 'A<number, string>' has no construct signatures.
tests/cases/compiler/superNewCall1.ts(9,13): error TS17011: 'super' must be called before accessing a property of 'super' in the constructor of a derived class.
@ -16,7 +16,7 @@ tests/cases/compiler/superNewCall1.ts(9,13): error TS17011: 'super' must be call
~~~~~~~~~~~~~~~
new super(value => String(value));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'A<number, string>' has no construct signatures.
~~~~~

View File

@ -6,6 +6,6 @@ tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag01.ts(3,
class CtorTag { }
CtorTag `Hello world!`;
~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'typeof CtorTag' has no call signatures.

View File

@ -9,6 +9,6 @@ tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag02.ts(6,
}
var tag: I;
tag `Hello world!`;
~~~~~~~~~~~~~~~~~~
~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'I' has no call signatures.

View File

@ -4,6 +4,6 @@ tests/cases/conformance/es6/templates/templateStringInCallExpression.ts(1,1): er
==== tests/cases/conformance/es6/templates/templateStringInCallExpression.ts (1 errors) ====
`abc${0}abc`(`hello ${0} world`, ` `, `1${2}3`);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.

View File

@ -4,6 +4,6 @@ tests/cases/conformance/es6/templates/templateStringInCallExpressionES6.ts(1,1):
==== tests/cases/conformance/es6/templates/templateStringInCallExpressionES6.ts (1 errors) ====
`abc${0}abc`(`hello ${0} world`, ` `, `1${2}3`);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.

View File

@ -1,9 +1,9 @@
tests/cases/conformance/es6/templates/templateStringInNewExpression.ts(1,1): error TS2351: This expression is not constructable.
tests/cases/conformance/es6/templates/templateStringInNewExpression.ts(1,5): error TS2351: This expression is not constructable.
Type 'String' has no construct signatures.
==== tests/cases/conformance/es6/templates/templateStringInNewExpression.ts (1 errors) ====
new `abc${0}abc`(`hello ${0} world`, ` `, `1${2}3`);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'String' has no construct signatures.

View File

@ -1,9 +1,9 @@
tests/cases/conformance/es6/templates/templateStringInNewExpressionES6.ts(1,1): error TS2351: This expression is not constructable.
tests/cases/conformance/es6/templates/templateStringInNewExpressionES6.ts(1,5): error TS2351: This expression is not constructable.
Type 'String' has no construct signatures.
==== tests/cases/conformance/es6/templates/templateStringInNewExpressionES6.ts (1 errors) ====
new `abc${0}abc`(`hello ${0} world`, ` `, `1${2}3`);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'String' has no construct signatures.

View File

@ -1,9 +1,9 @@
tests/cases/conformance/es6/templates/templateStringInNewOperator.ts(1,9): error TS2351: This expression is not constructable.
tests/cases/conformance/es6/templates/templateStringInNewOperator.ts(1,13): error TS2351: This expression is not constructable.
Type 'String' has no construct signatures.
==== tests/cases/conformance/es6/templates/templateStringInNewOperator.ts (1 errors) ====
var x = new `abc${ 1 }def`;
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'String' has no construct signatures.

View File

@ -1,9 +1,9 @@
tests/cases/conformance/es6/templates/templateStringInNewOperatorES6.ts(1,9): error TS2351: This expression is not constructable.
tests/cases/conformance/es6/templates/templateStringInNewOperatorES6.ts(1,13): error TS2351: This expression is not constructable.
Type 'String' has no construct signatures.
==== tests/cases/conformance/es6/templates/templateStringInNewOperatorES6.ts (1 errors) ====
var x = new `abc${ 1 }def`;
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type 'String' has no construct signatures.

View File

@ -11,10 +11,9 @@ tests/cases/conformance/es6/templates/templateStringInObjectLiteral.ts(4,1): err
~
a: `abc${ 123 }def`,
~~~~~~~~~~~~~~~~~~~~~~~~
`b`: 321
~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type '{ a: string; }' has no call signatures.
`b`: 321
~~~
!!! error TS1136: Property assignment expected.
~

View File

@ -11,10 +11,9 @@ tests/cases/conformance/es6/templates/templateStringInObjectLiteralES6.ts(4,1):
~
a: `abc${ 123 }def`,
~~~~~~~~~~~~~~~~~~~~~~~~
`b`: 321
~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type '{ a: string; }' has no call signatures.
`b`: 321
~~~
!!! error TS1136: Property assignment expected.
~

View File

@ -9,10 +9,9 @@ tests/cases/conformance/es6/templates/templateStringInPropertyName1.ts(3,1): err
==== tests/cases/conformance/es6/templates/templateStringInPropertyName1.ts (5 errors) ====
var x = {
~
`a`: 321
~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type '{}' has no call signatures.
`a`: 321
~~~
!!! error TS1136: Property assignment expected.
~

View File

@ -9,10 +9,9 @@ tests/cases/conformance/es6/templates/templateStringInPropertyName2.ts(3,1): err
==== tests/cases/conformance/es6/templates/templateStringInPropertyName2.ts (5 errors) ====
var x = {
~
`abc${ 123 }def${ 456 }ghi`: 321
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type '{}' has no call signatures.
`abc${ 123 }def${ 456 }ghi`: 321
~~~~~~
!!! error TS1136: Property assignment expected.
~

View File

@ -9,10 +9,9 @@ tests/cases/conformance/es6/templates/templateStringInPropertyNameES6_1.ts(3,1):
==== tests/cases/conformance/es6/templates/templateStringInPropertyNameES6_1.ts (5 errors) ====
var x = {
~
`a`: 321
~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type '{}' has no call signatures.
`a`: 321
~~~
!!! error TS1136: Property assignment expected.
~

View File

@ -9,10 +9,9 @@ tests/cases/conformance/es6/templates/templateStringInPropertyNameES6_2.ts(3,1):
==== tests/cases/conformance/es6/templates/templateStringInPropertyNameES6_2.ts (5 errors) ====
var x = {
~
`abc${ 123 }def${ 456 }ghi`: 321
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type '{}' has no call signatures.
`abc${ 123 }def${ 456 }ghi`: 321
~~~~~~
!!! error TS1136: Property assignment expected.
~

View File

@ -4,6 +4,6 @@ tests/cases/conformance/es6/templates/templateStringInTaggedTemplate.ts(1,1): er
==== tests/cases/conformance/es6/templates/templateStringInTaggedTemplate.ts (1 errors) ====
`I AM THE ${ `${ `TAG` } ` } PORTION` `I ${ "AM" } THE TEMPLATE PORTION`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.

View File

@ -4,6 +4,6 @@ tests/cases/conformance/es6/templates/templateStringInTaggedTemplateES6.ts(1,1):
==== tests/cases/conformance/es6/templates/templateStringInTaggedTemplateES6.ts (1 errors) ====
`I AM THE ${ `${ `TAG` } ` } PORTION` `I ${ "AM" } THE TEMPLATE PORTION`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'String' has no call signatures.

View File

@ -182,7 +182,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(178,22): e
!!! error TS2322: Object literal may only specify known properties, and 'explicitStructural' does not exist in type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'.
ok.f(); // not enough arguments
~
~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts:61:46: An argument for 'x' was not provided.
ok.f('wrong type');
@ -204,7 +204,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(178,22): e
let c = new C();
c.explicitC(); // not enough arguments
~~~~~~~~~
~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts:9:24: An argument for 'm' was not provided.
c.explicitC('wrong type');
@ -214,7 +214,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(178,22): e
~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 2.
c.explicitThis(); // not enough arguments
~~~~~~~~~~~~
~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts:3:30: An argument for 'm' was not provided.
c.explicitThis('wrong type 2');
@ -224,7 +224,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(178,22): e
~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 2.
c.implicitThis(); // not enough arguments
~~~~~~~~~~~~
~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts:6:18: An argument for 'm' was not provided.
c.implicitThis('wrong type 2');
@ -234,7 +234,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(178,22): e
~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 2.
c.explicitProperty(); // not enough arguments
~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts:12:41: An argument for 'm' was not provided.
c.explicitProperty('wrong type 3');

View File

@ -11,6 +11,6 @@ tests/cases/compiler/typeAssertionToGenericFunctionType.ts(6,3): error TS2554: E
~
!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'.
x.b<string>(); // error
~
~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/compiler/typeAssertionToGenericFunctionType.ts:3:12: An argument for 'x' was not provided.

View File

@ -1,6 +1,6 @@
tests/cases/compiler/typeParameterWithInvalidConstraintType.ts(1,19): error TS2313: Type parameter 'T' has a circular constraint.
tests/cases/compiler/typeParameterWithInvalidConstraintType.ts(4,19): error TS2339: Property 'foo' does not exist on type 'T'.
tests/cases/compiler/typeParameterWithInvalidConstraintType.ts(5,17): error TS2351: This expression is not constructable.
tests/cases/compiler/typeParameterWithInvalidConstraintType.ts(5,21): error TS2351: This expression is not constructable.
Type '{}' has no construct signatures.
tests/cases/compiler/typeParameterWithInvalidConstraintType.ts(7,17): error TS2349: This expression is not callable.
Type '{}' has no call signatures.
@ -16,12 +16,12 @@ tests/cases/compiler/typeParameterWithInvalidConstraintType.ts(7,17): error TS23
~~~
!!! error TS2339: Property 'foo' does not exist on type 'T'.
var b = new x(123);
~~~~~~~~~~
~
!!! error TS2351: This expression is not constructable.
!!! error TS2351: Type '{}' has no construct signatures.
var c = x[1];
var d = x();
~~~
~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type '{}' has no call signatures.
}

View File

@ -50,7 +50,7 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2
~~~~
!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'.
unionOfDifferentReturnType1(); // error missing parameter
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:12:37: An argument for 'a' was not provided.
@ -62,13 +62,13 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2
~~~~~~~
!!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'never'.
unionOfDifferentParameterTypes();// error - no call signatures
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:18:40: An argument for 'a' was not provided.
var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; };
unionOfDifferentNumberOfSignatures(); // error - no call signatures
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:23:44: An argument for 'a' was not provided.
unionOfDifferentNumberOfSignatures(10); // error - no call signatures
@ -78,11 +78,11 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2
var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ;
unionWithDifferentParameterCount();// needs more args
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:28:69: An argument for 'a' was not provided.
unionWithDifferentParameterCount("hello");// needs more args
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:28:80: An argument for 'b' was not provided.
unionWithDifferentParameterCount("hello", 10);// OK
@ -94,13 +94,13 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2
~~~~~~~
!!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'.
strOrNum = unionWithOptionalParameter1(); // error
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1-2 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:33:37: An argument for 'a' was not provided.
var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number };
strOrNum = unionWithOptionalParameter2('hello'); // error no call signature
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:39:87: An argument for 'b' was not provided.
strOrNum = unionWithOptionalParameter2('hello', 10); // error no call signature
@ -108,7 +108,7 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2
~~~~~~~
!!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'.
strOrNum = unionWithOptionalParameter2(); // error no call signature
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:39:76: An argument for 'a' was not provided.
@ -119,7 +119,7 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2
~~~~~~~
!!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'.
strOrNum = unionWithOptionalParameter3(); // needs more args
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 1-2 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:45:37: An argument for 'a' was not provided.
@ -131,13 +131,13 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2
~~~~~~~
!!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'.
strOrNum = unionWithRestParameter1(); // error
~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2555: Expected at least 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:51:33: An argument for 'a' was not provided.
var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number };
strOrNum = unionWithRestParameter2('hello'); // error no call signature
~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:58:87: An argument for 'b' was not provided.
strOrNum = unionWithRestParameter2('hello', 10); // error no call signature
@ -148,7 +148,7 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2
~~~~~~~
!!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'.
strOrNum = unionWithRestParameter2(); // error no call signature
~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:58:76: An argument for 'a' was not provided.
@ -160,13 +160,13 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2
~~~~~~~
!!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'.
strOrNum = unionWithRestParameter3(); // error no call signature
~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2555: Expected at least 1 arguments, but got 0.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:65:33: An argument for 'a' was not provided.
var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; };
strOrNum = unionWithRestParameter4("hello"); // error supplied parameters do not match any call signature
~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures.ts:72:76: An argument for 'b' was not provided.
strOrNum = unionWithRestParameter4("hello", "world");

View File

@ -26,7 +26,7 @@ tests/cases/conformance/types/union/unionTypeCallSignatures4.ts(25,18): error TS
var f12345: F1 | F2 | F3 | F4 | F5;
f12345("a"); // error
~~~~~~
~~~~~~~~~~~
!!! error TS2554: Expected 2 arguments, but got 1.
!!! related TS6210 tests/cases/conformance/types/union/unionTypeCallSignatures4.ts:5:23: An argument for 'b' was not provided.
f12345("a", "b");

View File

@ -39,7 +39,7 @@ tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(41,4): error TS2
var c2: C;
var r4 = c2<number>(); // should be an error
~~~~~~~~~~~~
~~
!!! error TS2349: This expression is not callable.
!!! error TS2349: Type 'C' has no call signatures.

View File

@ -1,4 +1,5 @@
class Builder {
notMethod: string
method(param: string): Builder {
return this;
}
@ -6,4 +7,11 @@ class Builder {
new Builder()
.method("a")
.method();
.method()
.method("a");
new Builder()
.method("a")
.notMethod()
.method("a");