Merge pull request #30 from Microsoft/declarations · microsoft/TypeScript@fe1fea3 · GitHub
Skip to content

Commit fe1fea3

Browse files
committed
Merge pull request #30 from Microsoft/declarations
Changes to determine when to qualify the symbol in given enclosing declaration
2 parents 5ae265b + 1bb219a commit fe1fea3

239 files changed

Lines changed: 1445 additions & 1217 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/compiler/checker.ts

Lines changed: 254 additions & 31 deletions
Large diffs are not rendered by default.

src/compiler/emitter.ts

Lines changed: 12 additions & 39 deletions

src/compiler/parser.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,12 +273,6 @@ module ts {
273273
return s.parameters.length > 0 && (s.parameters[s.parameters.length - 1].flags & NodeFlags.Rest) !== 0;
274274
}
275275

276-
export function getContainerOfModuleElementDeclaration(node: Declaration) {
277-
// If the declaration is var declaration, then the parent is variable statement but we actually want the module
278-
var container = node.kind === SyntaxKind.VariableDeclaration ? node.parent.parent : node.parent;
279-
return container.kind == SyntaxKind.ModuleBlock ? container.parent : container;
280-
}
281-
282276
enum ParsingContext {
283277
SourceElements, // Elements in source file
284278
ModuleElements, // Elements in module declaration

src/compiler/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ module ts {
621621
getNodeCheckFlags(node: Node): NodeCheckFlags;
622622
getEnumMemberValue(node: EnumMember): number;
623623
shouldEmitDeclarations(): boolean;
624-
isReferencedInExportAssignment(node: Declaration): boolean;
624+
isDeclarationVisible(node: Declaration): boolean;
625625
isImplementationOfOverload(node: FunctionDeclaration): boolean;
626626
writeTypeAtLocation(location: Node, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: TextWriter): void;
627627
writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: TextWriter): void;
@@ -740,6 +740,7 @@ module ts {
740740
flags?: NodeCheckFlags; // Set of flags specific to Node
741741
enumMemberValue?: number; // Constant value of enum member
742742
isIllegalTypeReferenceInConstraint?: boolean; // Is type reference in constraint refers to the type parameter from the same list
743+
isVisible?: boolean; // Is this node visible
743744
}
744745

745746
export enum TypeFlags {

tests/baselines/reference/commentsModules.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ declare module m1 {
254254
function foo2Export(a: string): void;
255255
function foo3Export(): void;
256256
}
257-
declare var myvar: c;
257+
declare var myvar: m1.m2.c;
258258
declare module m2.m3 {
259259
class c {
260260
}

tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ declare module "SubModule" {
3232
}
3333
//// [declFileAmbientExternalModuleWithSingleExportedModule_1.d.ts]
3434
/// <reference path='declFileAmbientExternalModuleWithSingleExportedModule_0.d.ts' />
35-
export declare var x: c;
35+
export declare var x: SubModule.m.m3.c;

tests/baselines/reference/declFileExportAssignmentImportInternalModule.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,21 @@ module.exports = m;
3131

3232

3333
//// [declFileExportAssignmentImportInternalModule.d.ts]
34+
declare module m3 {
35+
module m2 {
36+
interface connectModule {
37+
(res: any, req: any, next: any): void;
38+
}
39+
interface connectExport {
40+
use: (mod: connectModule) => connectExport;
41+
listen: (port: number) => void;
42+
}
43+
}
44+
var server: {
45+
(): m2.connectExport;
46+
test1: m2.connectModule;
47+
test2(): m2.connectModule;
48+
};
49+
}
3450
import m = m3;
3551
export = m;

tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ interface Foo<T> {
2828
}
2929
export = Foo;
3030
//// [declFileExportAssignmentOfGenericInterface_1.d.ts]
31-
export declare var x: Foo<Foo<string>>;
31+
export declare var x: a<a<string>>;

tests/baselines/reference/declFileExportImportChain.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,4 @@ export = b;
7474
//// [declFileExportImportChain_c.d.ts]
7575
export import b1 = require("declFileExportImportChain_b1");
7676
//// [declFileExportImportChain_d.d.ts]
77-
export declare var x: c1;
77+
export declare var x: m1.m2.c1;

tests/baselines/reference/declFileExportImportChain2.js

Lines changed: 1 addition & 1 deletion

0 commit comments

Comments
 (0)