File tree Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -1465,6 +1465,10 @@ namespace ts {
1465
1465
1466
1466
function getExportsForModule(moduleSymbol: Symbol): SymbolTable {
1467
1467
const visitedSymbols: Symbol[] = [];
1468
+
1469
+ // A module defined by an 'export=' consists on one export that needs to be resolved
1470
+ moduleSymbol = resolveExternalModuleSymbol(moduleSymbol);
1471
+
1468
1472
return visit(moduleSymbol) || moduleSymbol.exports;
1469
1473
1470
1474
// The ES6 spec permits export * declarations in a module to circularly reference the module itself. For example,
@@ -17889,7 +17893,8 @@ namespace ts {
17889
17893
}
17890
17894
17891
17895
function isNotOverload(declaration: Declaration): boolean {
17892
- return declaration.kind !== SyntaxKind.FunctionDeclaration || !!(declaration as FunctionDeclaration).body;
17896
+ return (declaration.kind !== SyntaxKind.FunctionDeclaration && declaration.kind !== SyntaxKind.MethodDeclaration) ||
17897
+ !!(declaration as FunctionDeclaration).body;
17893
17898
}
17894
17899
}
17895
17900
Original file line number Diff line number Diff line change
1
+ /// <reference path='fourslash.ts' />
2
+
3
+ // @Filename : foo.d.ts
4
+ //// declare class Foo {
5
+ //// static prop1(x: number): number;
6
+ //// static prop1(x: string): string;
7
+ //// static prop2(x: boolean): boolean;
8
+ //// }
9
+ //// export = Foo; /*2*/
10
+
11
+ // @Filename : app.ts
12
+ ////import {/*1*/} from './foo';
13
+
14
+ goTo . marker ( '1' ) ;
15
+ verify . completionListContains ( 'prop1' ) ;
16
+ verify . completionListContains ( 'prop2' ) ;
17
+ verify . not . completionListContains ( 'Foo' ) ;
18
+ verify . numberOfErrorsInCurrentFile ( 0 ) ;
19
+ goTo . marker ( '2' ) ;
20
+ verify . numberOfErrorsInCurrentFile ( 0 ) ;
You can’t perform that action at this time.
0 commit comments