diff --git a/tests/baselines/reference/aliasInaccessibleModule.types b/tests/baselines/reference/aliasInaccessibleModule.types deleted file mode 100644 index 482e3f667a..0000000000 --- a/tests/baselines/reference/aliasInaccessibleModule.types +++ /dev/null @@ -1,11 +0,0 @@ -=== tests/cases/compiler/aliasInaccessibleModule.ts === -module M { ->M : typeof M - - module N { ->N : N - } - export import X = N; ->X : X ->N : N -} diff --git a/tests/baselines/reference/aliasInaccessibleModule2.types b/tests/baselines/reference/aliasInaccessibleModule2.types deleted file mode 100644 index 1ad25ae0cf..0000000000 --- a/tests/baselines/reference/aliasInaccessibleModule2.types +++ /dev/null @@ -1,20 +0,0 @@ -=== tests/cases/compiler/aliasInaccessibleModule2.ts === -module M { ->M : typeof M - - module N { ->N : typeof N - - class C { ->C : C - } - - } - import R = N; ->R : typeof N ->N : typeof N - - export import X = R; ->X : typeof N ->R : typeof N -} diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types new file mode 100644 index 0000000000..8dc3aadeda --- /dev/null +++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types @@ -0,0 +1,60 @@ +=== tests/cases/compiler/aliasUsage1_main.ts === +import Backbone = require("aliasUsage1_backbone"); +>Backbone : typeof "tests/cases/compiler/aliasUsage1_backbone" + +import moduleA = require("aliasUsage1_moduleA"); +>moduleA : typeof "tests/cases/compiler/aliasUsage1_moduleA" + +interface IHasVisualizationModel { +>IHasVisualizationModel : IHasVisualizationModel + + VisualizationModel: typeof Backbone.Model; +>VisualizationModel : typeof Model +>Backbone : typeof "tests/cases/compiler/aliasUsage1_backbone" +>Model : typeof Model +} +class C2 { +>C2 : C2 + + x: IHasVisualizationModel; +>x : IHasVisualizationModel +>IHasVisualizationModel : IHasVisualizationModel + + get A() { +>A : IHasVisualizationModel + + return this.x; +>this.x : IHasVisualizationModel +>this : C2 +>x : IHasVisualizationModel + } + set A(x) { +>A : IHasVisualizationModel +>x : IHasVisualizationModel + + x = moduleA; +>x = moduleA : typeof "tests/cases/compiler/aliasUsage1_moduleA" +>x : IHasVisualizationModel +>moduleA : typeof "tests/cases/compiler/aliasUsage1_moduleA" + } +} +=== tests/cases/compiler/aliasUsage1_backbone.ts === +export class Model { +>Model : Model + + public someData: string; +>someData : string +} + +=== tests/cases/compiler/aliasUsage1_moduleA.ts === +import Backbone = require("aliasUsage1_backbone"); +>Backbone : typeof "tests/cases/compiler/aliasUsage1_backbone" + +export class VisualizationModel extends Backbone.Model { +>VisualizationModel : VisualizationModel +>Backbone : Backbone +>Model : Model + + // interesting stuff here +} + diff --git a/tests/baselines/reference/declFileImportChainInExportAssignment.types b/tests/baselines/reference/declFileImportChainInExportAssignment.types new file mode 100644 index 0000000000..267ea6b129 --- /dev/null +++ b/tests/baselines/reference/declFileImportChainInExportAssignment.types @@ -0,0 +1,24 @@ +=== tests/cases/compiler/declFileImportChainInExportAssignment.ts === +module m { +>m : typeof m + + export module c { +>c : typeof c + + export class c { +>c : c + } + } +} +import a = m.c; +>a : typeof c +>m : typeof c +>c : typeof c + +import b = a; +>b : typeof c +>a : typeof c + +export = b; +>b : typeof c + diff --git a/tests/baselines/reference/declInput-2.types b/tests/baselines/reference/declInput-2.types deleted file mode 100644 index 98c5686bbe..0000000000 --- a/tests/baselines/reference/declInput-2.types +++ /dev/null @@ -1,74 +0,0 @@ -=== tests/cases/compiler/declInput-2.ts === -module M { ->M : typeof M - - class C { } ->C : C - - export class E {} ->E : E - - export interface I1 {} ->I1 : I1 - - interface I2 {} ->I2 : I2 - - export class D { ->D : D - - private c: C; // don't generate ->c : C ->C : C - - public m1: number; ->m1 : number - - public m2: string; ->m2 : string - - public m22: C; // don't generate ->m22 : C ->C : C - - public m23: E; ->m23 : E ->E : E - - public m24: I1; ->m24 : I1 ->I1 : I1 - - public m25: I2; // don't generate ->m25 : I2 ->I2 : I2 - - public m232(): E { return null;} ->m232 : () => E ->E : E - - public m242(): I1 { return null; } ->m242 : () => I1 ->I1 : I1 - - public m252(): I2 { return null; } // don't generate ->m252 : () => I2 ->I2 : I2 - - public m26(i:I1) {} ->m26 : (i: I1) => void ->i : I1 ->I1 : I1 - - public m262(i:I2) {} ->m262 : (i: I2) => void ->i : I2 ->I2 : I2 - - public m3():C { return new C(); } ->m3 : () => C ->C : C ->new C() : C ->C : typeof C - } -} diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.types b/tests/baselines/reference/declarationEmit_nameConflicts.types index 07c39f34c9..e6ae616039 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts.types +++ b/tests/baselines/reference/declarationEmit_nameConflicts.types @@ -65,7 +65,6 @@ export module M.P { >P : () => void >f : () => void - // Bug 887180: Invalid .d.ts when an aliased entity is referenced, and a different entity is closer in scope export var a = M.a; // emitted incorrectly as typeof f >a : () => void >M.a : () => void diff --git a/tests/baselines/reference/declarationEmit_nameConflicts2.types b/tests/baselines/reference/declarationEmit_nameConflicts2.types index e73c0cea4c..d1422468dd 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts2.types +++ b/tests/baselines/reference/declarationEmit_nameConflicts2.types @@ -26,7 +26,6 @@ module X.Y.base.Z { >base : typeof base >Z : typeof Z - // Bug 887180 export var f = X.Y.base.f; // Should be base.f >f : () => void >X.Y.base.f : () => void diff --git a/tests/baselines/reference/declarationEmit_nameConflicts3.types b/tests/baselines/reference/declarationEmit_nameConflicts3.types index 477a7f2c2c..f474b19288 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts3.types +++ b/tests/baselines/reference/declarationEmit_nameConflicts3.types @@ -45,7 +45,6 @@ module M.P { f >f : D } - // Bug 887180 export var v: M.D; // ok >v : D >M : M diff --git a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types b/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types index 2985bb7171..bd905943f4 100644 --- a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types +++ b/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types @@ -1,5 +1,4 @@ === tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts === -// Bug 887180 export module C { export interface I { } } >C : C >I : I diff --git a/tests/baselines/reference/functionExpressionReturningItself.types b/tests/baselines/reference/functionExpressionReturningItself.types index fb76852369..409f4adea2 100644 --- a/tests/baselines/reference/functionExpressionReturningItself.types +++ b/tests/baselines/reference/functionExpressionReturningItself.types @@ -1,7 +1,7 @@ === tests/cases/compiler/functionExpressionReturningItself.ts === var x = function somefn() { return somefn; }; ->x : () => typeof somefn ->function somefn() { return somefn; } : () => typeof somefn ->somefn : () => typeof somefn ->somefn : () => typeof somefn +>x : () => any +>function somefn() { return somefn; } : () => any +>somefn : () => any +>somefn : () => any diff --git a/tests/baselines/reference/functionImplementations.types b/tests/baselines/reference/functionImplementations.types index 63be65e841..b9c100e49b 100644 --- a/tests/baselines/reference/functionImplementations.types +++ b/tests/baselines/reference/functionImplementations.types @@ -10,11 +10,11 @@ var a: any = function f() { >a : any >function f() { return f; -} : () => typeof f ->f : () => typeof f +} : () => any +>f : () => any return f; ->f : () => typeof f +>f : () => any }; var a: any = function f() { @@ -36,15 +36,15 @@ var a: any = function f() { >function f() { var x = f; return x; -} : () => typeof f ->f : () => typeof f +} : () => any +>f : () => any var x = f; ->x : () => typeof f ->f : () => typeof f +>x : () => any +>f : () => any return x; ->x : () => typeof f +>x : () => any }; diff --git a/tests/baselines/reference/importDecl.types b/tests/baselines/reference/importDecl.types new file mode 100644 index 0000000000..e6725e8776 --- /dev/null +++ b/tests/baselines/reference/importDecl.types @@ -0,0 +1,228 @@ +=== tests/cases/compiler/importDecl_1.ts === +/// +/// +/// +/// +/// +import m4 = require("importDecl_require"); // Emit used +>m4 : typeof "tests/cases/compiler/importDecl_require" + +export var x4 = m4.x; +>x4 : d +>m4.x : d +>m4 : typeof "tests/cases/compiler/importDecl_require" +>x : d + +export var d4 = m4.d; +>d4 : typeof d +>m4.d : typeof d +>m4 : typeof "tests/cases/compiler/importDecl_require" +>d : typeof d + +export var f4 = m4.foo(); +>f4 : d +>m4.foo() : d +>m4.foo : () => d +>m4 : typeof "tests/cases/compiler/importDecl_require" +>foo : () => d + +export module m1 { +>m1 : typeof m1 + + export var x2 = m4.x; +>x2 : d +>m4.x : d +>m4 : typeof "tests/cases/compiler/importDecl_require" +>x : d + + export var d2 = m4.d; +>d2 : typeof d +>m4.d : typeof d +>m4 : typeof "tests/cases/compiler/importDecl_require" +>d : typeof d + + export var f2 = m4.foo(); +>f2 : d +>m4.foo() : d +>m4.foo : () => d +>m4 : typeof "tests/cases/compiler/importDecl_require" +>foo : () => d + + var x3 = m4.x; +>x3 : d +>m4.x : d +>m4 : typeof "tests/cases/compiler/importDecl_require" +>x : d + + var d3 = m4.d; +>d3 : typeof d +>m4.d : typeof d +>m4 : typeof "tests/cases/compiler/importDecl_require" +>d : typeof d + + var f3 = m4.foo(); +>f3 : d +>m4.foo() : d +>m4.foo : () => d +>m4 : typeof "tests/cases/compiler/importDecl_require" +>foo : () => d +} + +//Emit global only usage +import glo_m4 = require("importDecl_require1"); +>glo_m4 : typeof "tests/cases/compiler/importDecl_require1" + +export var useGlo_m4_d4 = glo_m4.d; +>useGlo_m4_d4 : typeof d +>glo_m4.d : typeof d +>glo_m4 : typeof "tests/cases/compiler/importDecl_require1" +>d : typeof d + +export var useGlo_m4_f4 = glo_m4.foo(); +>useGlo_m4_f4 : d +>glo_m4.foo() : d +>glo_m4.foo : () => d +>glo_m4 : typeof "tests/cases/compiler/importDecl_require1" +>foo : () => d + +//Emit even when used just in function type +import fncOnly_m4 = require("importDecl_require2"); +>fncOnly_m4 : typeof "tests/cases/compiler/importDecl_require2" + +export var useFncOnly_m4_f4 = fncOnly_m4.foo(); +>useFncOnly_m4_f4 : d +>fncOnly_m4.foo() : d +>fncOnly_m4.foo : () => d +>fncOnly_m4 : typeof "tests/cases/compiler/importDecl_require2" +>foo : () => d + +// only used privately no need to emit +import private_m4 = require("importDecl_require3"); +>private_m4 : typeof "tests/cases/compiler/importDecl_require3" + +export module usePrivate_m4_m1 { +>usePrivate_m4_m1 : typeof usePrivate_m4_m1 + + var x3 = private_m4.x; +>x3 : d +>private_m4.x : d +>private_m4 : typeof "tests/cases/compiler/importDecl_require3" +>x : d + + var d3 = private_m4.d; +>d3 : typeof d +>private_m4.d : typeof d +>private_m4 : typeof "tests/cases/compiler/importDecl_require3" +>d : typeof d + + var f3 = private_m4.foo(); +>f3 : d +>private_m4.foo() : d +>private_m4.foo : () => d +>private_m4 : typeof "tests/cases/compiler/importDecl_require3" +>foo : () => d +} + +// Do not emit unused import +import m5 = require("importDecl_require4"); +>m5 : typeof "tests/cases/compiler/importDecl_require4" + +export var d = m5.foo2(); +>d : d +>m5.foo2() : d +>m5.foo2 : () => d +>m5 : typeof "tests/cases/compiler/importDecl_require4" +>foo2 : () => d + +// Do not emit multiple used import statements +import multiImport_m4 = require("importDecl_require"); // Emit used +>multiImport_m4 : typeof "tests/cases/compiler/importDecl_require" + +export var useMultiImport_m4_x4 = multiImport_m4.x; +>useMultiImport_m4_x4 : d +>multiImport_m4.x : d +>multiImport_m4 : typeof "tests/cases/compiler/importDecl_require" +>x : d + +export var useMultiImport_m4_d4 = multiImport_m4.d; +>useMultiImport_m4_d4 : typeof d +>multiImport_m4.d : typeof d +>multiImport_m4 : typeof "tests/cases/compiler/importDecl_require" +>d : typeof d + +export var useMultiImport_m4_f4 = multiImport_m4.foo(); +>useMultiImport_m4_f4 : d +>multiImport_m4.foo() : d +>multiImport_m4.foo : () => d +>multiImport_m4 : typeof "tests/cases/compiler/importDecl_require" +>foo : () => d + +=== tests/cases/compiler/importDecl_require.ts === +export class d { +>d : d + + foo: string; +>foo : string +} +export var x: d; +>x : d +>d : d + +export function foo(): d { return null; } +>foo : () => d +>d : d + +=== tests/cases/compiler/importDecl_require1.ts === +export class d { +>d : d + + bar: string; +>bar : string +} +var x: d; +>x : d +>d : d + +export function foo(): d { return null; } +>foo : () => d +>d : d + +=== tests/cases/compiler/importDecl_require2.ts === +export class d { +>d : d + + baz: string; +>baz : string +} +export var x: d; +>x : d +>d : d + +export function foo(): d { return null; } +>foo : () => d +>d : d + +=== tests/cases/compiler/importDecl_require3.ts === +export class d { +>d : d + + bing: string; +>bing : string +} +export var x: d; +>x : d +>d : d + +export function foo(): d { return null; } +>foo : () => d +>d : d + +=== tests/cases/compiler/importDecl_require4.ts === +import m4 = require("importDecl_require"); +>m4 : typeof "tests/cases/compiler/importDecl_require" + +export function foo2(): m4.d { return null; } +>foo2 : () => d +>m4 : m4 +>d : d + diff --git a/tests/baselines/reference/multiImportExport.types b/tests/baselines/reference/multiImportExport.types new file mode 100644 index 0000000000..1504fda69d --- /dev/null +++ b/tests/baselines/reference/multiImportExport.types @@ -0,0 +1,51 @@ +=== tests/cases/compiler/consumer.ts === +import Drawing = require('./Drawing'); +>Drawing : typeof "tests/cases/compiler/Drawing" + +var addr = new Drawing.Math.Adder(); +>addr : Adder +>new Drawing.Math.Adder() : Adder +>Drawing.Math.Adder : typeof Adder +>Drawing.Math : { Adder: typeof Adder; } +>Drawing : typeof "tests/cases/compiler/Drawing" +>Math : { Adder: typeof Adder; } +>Adder : typeof Adder + +=== tests/cases/compiler/Drawing.ts === +export import Math = require('Math/Math') +>Math : { Adder: typeof Adder; } + +=== tests/cases/compiler/Math/Math.ts === +import Adder = require('Math/Adder'); +>Adder : typeof Adder + +var Math = { +>Math : { Adder: typeof Adder; } +>{ + Adder:Adder +} : { Adder: typeof Adder; } + + Adder:Adder +>Adder : typeof Adder +>Adder : Adder + +}; + +export = Math +>Math : { Adder: typeof Adder; } + +=== tests/cases/compiler/Math/Adder.ts === +class Adder { +>Adder : Adder + + add(a: number, b: number) { +>add : (a: number, b: number) => void +>a : number +>b : number + + } +} + +export = Adder; +>Adder : Adder + diff --git a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleError.types b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleError.types deleted file mode 100644 index c028c32824..0000000000 --- a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleError.types +++ /dev/null @@ -1,17 +0,0 @@ -=== tests/cases/compiler/privacyCheckTypeOfInvisibleModuleError.ts === -module Outer { ->Outer : typeof Outer - - module Inner { ->Inner : typeof Inner - - export var m: typeof Inner; ->m : typeof Inner ->Inner : typeof Inner - } - - export var f: typeof Inner; ->f : typeof Inner ->Inner : typeof Inner -} - diff --git a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.types b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.types deleted file mode 100644 index fe5f6b0561..0000000000 --- a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.types +++ /dev/null @@ -1,16 +0,0 @@ -=== tests/cases/compiler/privacyCheckTypeOfInvisibleModuleNoError.ts === -module Outer { ->Outer : typeof Outer - - module Inner { ->Inner : typeof Inner - - export var m: number; ->m : number - } - - export var f: typeof Inner; // Since we dont unwind inner any more, it is error here ->f : typeof Inner ->Inner : typeof Inner -} - diff --git a/tests/baselines/reference/privacyGetter.types b/tests/baselines/reference/privacyGetter.types new file mode 100644 index 0000000000..160d72a027 --- /dev/null +++ b/tests/baselines/reference/privacyGetter.types @@ -0,0 +1,410 @@ +=== tests/cases/compiler/privacyGetter.ts === +export module m1 { +>m1 : typeof m1 + + export class C1_public { +>C1_public : C1_public + + private f1() { +>f1 : () => void + } + } + + class C2_private { +>C2_private : C2_private + } + + export class C3_public { +>C3_public : C3_public + + private get p1_private() { +>p1_private : C1_public + + return new C1_public(); +>new C1_public() : C1_public +>C1_public : typeof C1_public + } + + private set p1_private(m1_c3_p1_arg: C1_public) { +>p1_private : C1_public +>m1_c3_p1_arg : C1_public +>C1_public : C1_public + } + + private get p2_private() { +>p2_private : C1_public + + return new C1_public(); +>new C1_public() : C1_public +>C1_public : typeof C1_public + } + + private set p2_private(m1_c3_p2_arg: C1_public) { +>p2_private : C1_public +>m1_c3_p2_arg : C1_public +>C1_public : C1_public + } + + private get p3_private() { +>p3_private : C2_private + + return new C2_private(); +>new C2_private() : C2_private +>C2_private : typeof C2_private + } + + private set p3_private(m1_c3_p3_arg: C2_private) { +>p3_private : C2_private +>m1_c3_p3_arg : C2_private +>C2_private : C2_private + } + + public get p4_public(): C2_private { // error +>p4_public : C2_private +>C2_private : C2_private + + return new C2_private(); //error +>new C2_private() : C2_private +>C2_private : typeof C2_private + } + + public set p4_public(m1_c3_p4_arg: C2_private) { // error +>p4_public : C2_private +>m1_c3_p4_arg : C2_private +>C2_private : C2_private + } + } + + class C4_private { +>C4_private : C4_private + + private get p1_private() { +>p1_private : C1_public + + return new C1_public(); +>new C1_public() : C1_public +>C1_public : typeof C1_public + } + + private set p1_private(m1_c3_p1_arg: C1_public) { +>p1_private : C1_public +>m1_c3_p1_arg : C1_public +>C1_public : C1_public + } + + private get p2_private() { +>p2_private : C1_public + + return new C1_public(); +>new C1_public() : C1_public +>C1_public : typeof C1_public + } + + private set p2_private(m1_c3_p2_arg: C1_public) { +>p2_private : C1_public +>m1_c3_p2_arg : C1_public +>C1_public : C1_public + } + + private get p3_private() { +>p3_private : C2_private + + return new C2_private(); +>new C2_private() : C2_private +>C2_private : typeof C2_private + } + + private set p3_private(m1_c3_p3_arg: C2_private) { +>p3_private : C2_private +>m1_c3_p3_arg : C2_private +>C2_private : C2_private + } + + public get p4_public(): C2_private { +>p4_public : C2_private +>C2_private : C2_private + + return new C2_private(); +>new C2_private() : C2_private +>C2_private : typeof C2_private + } + + public set p4_public(m1_c3_p4_arg: C2_private) { +>p4_public : C2_private +>m1_c3_p4_arg : C2_private +>C2_private : C2_private + } + } +} + +module m2 { +>m2 : typeof m2 + + export class m2_C1_public { +>m2_C1_public : m2_C1_public + + private f1() { +>f1 : () => void + } + } + + class m2_C2_private { +>m2_C2_private : m2_C2_private + } + + export class m2_C3_public { +>m2_C3_public : m2_C3_public + + private get p1_private() { +>p1_private : m2_C1_public + + return new m2_C1_public(); +>new m2_C1_public() : m2_C1_public +>m2_C1_public : typeof m2_C1_public + } + + private set p1_private(m2_c3_p1_arg: m2_C1_public) { +>p1_private : m2_C1_public +>m2_c3_p1_arg : m2_C1_public +>m2_C1_public : m2_C1_public + } + + private get p2_private() { +>p2_private : m2_C1_public + + return new m2_C1_public(); +>new m2_C1_public() : m2_C1_public +>m2_C1_public : typeof m2_C1_public + } + + private set p2_private(m2_c3_p2_arg: m2_C1_public) { +>p2_private : m2_C1_public +>m2_c3_p2_arg : m2_C1_public +>m2_C1_public : m2_C1_public + } + + private get p3_private() { +>p3_private : m2_C2_private + + return new m2_C2_private(); +>new m2_C2_private() : m2_C2_private +>m2_C2_private : typeof m2_C2_private + } + + private set p3_private(m2_c3_p3_arg: m2_C2_private) { +>p3_private : m2_C2_private +>m2_c3_p3_arg : m2_C2_private +>m2_C2_private : m2_C2_private + } + + public get p4_public(): m2_C2_private { +>p4_public : m2_C2_private +>m2_C2_private : m2_C2_private + + return new m2_C2_private(); +>new m2_C2_private() : m2_C2_private +>m2_C2_private : typeof m2_C2_private + } + + public set p4_public(m2_c3_p4_arg: m2_C2_private) { +>p4_public : m2_C2_private +>m2_c3_p4_arg : m2_C2_private +>m2_C2_private : m2_C2_private + } + } + + class m2_C4_private { +>m2_C4_private : m2_C4_private + + private get p1_private() { +>p1_private : m2_C1_public + + return new m2_C1_public(); +>new m2_C1_public() : m2_C1_public +>m2_C1_public : typeof m2_C1_public + } + + private set p1_private(m2_c3_p1_arg: m2_C1_public) { +>p1_private : m2_C1_public +>m2_c3_p1_arg : m2_C1_public +>m2_C1_public : m2_C1_public + } + + private get p2_private() { +>p2_private : m2_C1_public + + return new m2_C1_public(); +>new m2_C1_public() : m2_C1_public +>m2_C1_public : typeof m2_C1_public + } + + private set p2_private(m2_c3_p2_arg: m2_C1_public) { +>p2_private : m2_C1_public +>m2_c3_p2_arg : m2_C1_public +>m2_C1_public : m2_C1_public + } + + private get p3_private() { +>p3_private : m2_C2_private + + return new m2_C2_private(); +>new m2_C2_private() : m2_C2_private +>m2_C2_private : typeof m2_C2_private + } + + private set p3_private(m2_c3_p3_arg: m2_C2_private) { +>p3_private : m2_C2_private +>m2_c3_p3_arg : m2_C2_private +>m2_C2_private : m2_C2_private + } + + public get p4_public(): m2_C2_private { +>p4_public : m2_C2_private +>m2_C2_private : m2_C2_private + + return new m2_C2_private(); +>new m2_C2_private() : m2_C2_private +>m2_C2_private : typeof m2_C2_private + } + + public set p4_public(m2_c3_p4_arg: m2_C2_private) { +>p4_public : m2_C2_private +>m2_c3_p4_arg : m2_C2_private +>m2_C2_private : m2_C2_private + } + } +} + +class C5_private { +>C5_private : C5_private + + private f() { +>f : () => void + } +} + +export class C6_public { +>C6_public : C6_public +} + +export class C7_public { +>C7_public : C7_public + + private get p1_private() { +>p1_private : C6_public + + return new C6_public(); +>new C6_public() : C6_public +>C6_public : typeof C6_public + } + + private set p1_private(m1_c3_p1_arg: C6_public) { +>p1_private : C6_public +>m1_c3_p1_arg : C6_public +>C6_public : C6_public + } + + private get p2_private() { +>p2_private : C6_public + + return new C6_public(); +>new C6_public() : C6_public +>C6_public : typeof C6_public + } + + private set p2_private(m1_c3_p2_arg: C6_public) { +>p2_private : C6_public +>m1_c3_p2_arg : C6_public +>C6_public : C6_public + } + + private get p3_private() { +>p3_private : C5_private + + return new C5_private(); +>new C5_private() : C5_private +>C5_private : typeof C5_private + } + + private set p3_private(m1_c3_p3_arg: C5_private) { +>p3_private : C5_private +>m1_c3_p3_arg : C5_private +>C5_private : C5_private + } + + public get p4_public(): C5_private { // error +>p4_public : C5_private +>C5_private : C5_private + + return new C5_private(); //error +>new C5_private() : C5_private +>C5_private : typeof C5_private + } + + public set p4_public(m1_c3_p4_arg: C5_private) { // error +>p4_public : C5_private +>m1_c3_p4_arg : C5_private +>C5_private : C5_private + } +} + +class C8_private { +>C8_private : C8_private + + private get p1_private() { +>p1_private : C6_public + + return new C6_public(); +>new C6_public() : C6_public +>C6_public : typeof C6_public + } + + private set p1_private(m1_c3_p1_arg: C6_public) { +>p1_private : C6_public +>m1_c3_p1_arg : C6_public +>C6_public : C6_public + } + + private get p2_private() { +>p2_private : C6_public + + return new C6_public(); +>new C6_public() : C6_public +>C6_public : typeof C6_public + } + + private set p2_private(m1_c3_p2_arg: C6_public) { +>p2_private : C6_public +>m1_c3_p2_arg : C6_public +>C6_public : C6_public + } + + private get p3_private() { +>p3_private : C5_private + + return new C5_private(); +>new C5_private() : C5_private +>C5_private : typeof C5_private + } + + private set p3_private(m1_c3_p3_arg: C5_private) { +>p3_private : C5_private +>m1_c3_p3_arg : C5_private +>C5_private : C5_private + } + + public get p4_public(): C5_private { +>p4_public : C5_private +>C5_private : C5_private + + return new C5_private(); +>new C5_private() : C5_private +>C5_private : typeof C5_private + } + + public set p4_public(m1_c3_p4_arg: C5_private) { +>p4_public : C5_private +>m1_c3_p4_arg : C5_private +>C5_private : C5_private + } +} diff --git a/tests/baselines/reference/privacyGloGetter.types b/tests/baselines/reference/privacyGloGetter.types new file mode 100644 index 0000000000..6dc32ec095 --- /dev/null +++ b/tests/baselines/reference/privacyGloGetter.types @@ -0,0 +1,174 @@ +=== tests/cases/compiler/privacyGloGetter.ts === +module m1 { +>m1 : typeof m1 + + export class C1_public { +>C1_public : C1_public + + private f1() { +>f1 : () => void + } + } + + class C2_private { +>C2_private : C2_private + } + + export class C3_public { +>C3_public : C3_public + + private get p1_private() { +>p1_private : C1_public + + return new C1_public(); +>new C1_public() : C1_public +>C1_public : typeof C1_public + } + + private set p1_private(m1_c3_p1_arg: C1_public) { +>p1_private : C1_public +>m1_c3_p1_arg : C1_public +>C1_public : C1_public + } + + private get p2_private() { +>p2_private : C1_public + + return new C1_public(); +>new C1_public() : C1_public +>C1_public : typeof C1_public + } + + private set p2_private(m1_c3_p2_arg: C1_public) { +>p2_private : C1_public +>m1_c3_p2_arg : C1_public +>C1_public : C1_public + } + + private get p3_private() { +>p3_private : C2_private + + return new C2_private(); +>new C2_private() : C2_private +>C2_private : typeof C2_private + } + + private set p3_private(m1_c3_p3_arg: C2_private) { +>p3_private : C2_private +>m1_c3_p3_arg : C2_private +>C2_private : C2_private + } + + public get p4_public(): C2_private { // error +>p4_public : C2_private +>C2_private : C2_private + + return new C2_private(); //error +>new C2_private() : C2_private +>C2_private : typeof C2_private + } + + public set p4_public(m1_c3_p4_arg: C2_private) { // error +>p4_public : C2_private +>m1_c3_p4_arg : C2_private +>C2_private : C2_private + } + } + + class C4_private { +>C4_private : C4_private + + private get p1_private() { +>p1_private : C1_public + + return new C1_public(); +>new C1_public() : C1_public +>C1_public : typeof C1_public + } + + private set p1_private(m1_c3_p1_arg: C1_public) { +>p1_private : C1_public +>m1_c3_p1_arg : C1_public +>C1_public : C1_public + } + + private get p2_private() { +>p2_private : C1_public + + return new C1_public(); +>new C1_public() : C1_public +>C1_public : typeof C1_public + } + + private set p2_private(m1_c3_p2_arg: C1_public) { +>p2_private : C1_public +>m1_c3_p2_arg : C1_public +>C1_public : C1_public + } + + private get p3_private() { +>p3_private : C2_private + + return new C2_private(); +>new C2_private() : C2_private +>C2_private : typeof C2_private + } + + private set p3_private(m1_c3_p3_arg: C2_private) { +>p3_private : C2_private +>m1_c3_p3_arg : C2_private +>C2_private : C2_private + } + + public get p4_public(): C2_private { +>p4_public : C2_private +>C2_private : C2_private + + return new C2_private(); +>new C2_private() : C2_private +>C2_private : typeof C2_private + } + + public set p4_public(m1_c3_p4_arg: C2_private) { +>p4_public : C2_private +>m1_c3_p4_arg : C2_private +>C2_private : C2_private + } + } +} + +class C6_public { +>C6_public : C6_public +} + +class C7_public { +>C7_public : C7_public + + private get p1_private() { +>p1_private : C6_public + + return new C6_public(); +>new C6_public() : C6_public +>C6_public : typeof C6_public + } + + private set p1_private(m1_c3_p1_arg: C6_public) { +>p1_private : C6_public +>m1_c3_p1_arg : C6_public +>C6_public : C6_public + } + + private get p2_private() { +>p2_private : C6_public + + return new C6_public(); +>new C6_public() : C6_public +>C6_public : typeof C6_public + } + + private set p2_private(m1_c3_p2_arg: C6_public) { +>p2_private : C6_public +>m1_c3_p2_arg : C6_public +>C6_public : C6_public + } +} diff --git a/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.types b/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.types deleted file mode 100644 index 04f561914c..0000000000 --- a/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.types +++ /dev/null @@ -1,537 +0,0 @@ -=== tests/cases/compiler/privacyLocalInternalReferenceImportWithExport.ts === -// private elements -module m_private { ->m_private : typeof m_private - - export class c_private { ->c_private : c_private - } - export enum e_private { ->e_private : e_private - - Happy, ->Happy : e_private - - Grumpy ->Grumpy : e_private - } - export function f_private() { ->f_private : () => c_private - - return new c_private(); ->new c_private() : c_private ->c_private : typeof c_private - } - export var v_private = new c_private(); ->v_private : c_private ->new c_private() : c_private ->c_private : typeof c_private - - export interface i_private { ->i_private : i_private - } - export module mi_private { ->mi_private : typeof mi_private - - export class c { ->c : c - } - } - export module mu_private { ->mu_private : mu_private - - export interface i { ->i : i - } - } -} - -// Public elements -export module m_public { ->m_public : typeof m_public - - export class c_public { ->c_public : c_public - } - export enum e_public { ->e_public : e_public - - Happy, ->Happy : e_public - - Grumpy ->Grumpy : e_public - } - export function f_public() { ->f_public : () => c_public - - return new c_public(); ->new c_public() : c_public ->c_public : typeof c_public - } - export var v_public = 10; ->v_public : number - - export interface i_public { ->i_public : i_public - } - export module mi_public { ->mi_public : typeof mi_public - - export class c { ->c : c - } - } - export module mu_public { ->mu_public : mu_public - - export interface i { ->i : i - } - } -} - -export module import_public { ->import_public : typeof import_public - - // Privacy errors - importing private elements - export import im_public_c_private = m_private.c_private; ->im_public_c_private : typeof c_private ->m_private : c_private ->c_private : c_private - - export import im_public_e_private = m_private.e_private; ->im_public_e_private : typeof e_private ->m_private : e_private ->e_private : e_private - - export import im_public_f_private = m_private.f_private; ->im_public_f_private : () => c_private ->m_private : () => c_private ->f_private : () => c_private - - export import im_public_v_private = m_private.v_private; ->im_public_v_private : c_private ->m_private : c_private ->v_private : c_private - - export import im_public_i_private = m_private.i_private; ->im_public_i_private : im_public_i_private ->m_private : i_private ->i_private : i_private - - export import im_public_mi_private = m_private.mi_private; ->im_public_mi_private : typeof mi_private ->m_private : typeof mi_private ->mi_private : typeof mi_private - - export import im_public_mu_private = m_private.mu_private; ->im_public_mu_private : im_public_mu_private ->m_private : m_private ->mu_private : mu_private - - // Usage of privacy error imports - var privateUse_im_public_c_private = new im_public_c_private(); ->privateUse_im_public_c_private : c_private ->new im_public_c_private() : c_private ->im_public_c_private : typeof c_private - - export var publicUse_im_public_c_private = new im_public_c_private(); ->publicUse_im_public_c_private : c_private ->new im_public_c_private() : c_private ->im_public_c_private : typeof c_private - - var privateUse_im_public_e_private = im_public_e_private.Happy; ->privateUse_im_public_e_private : e_private ->im_public_e_private.Happy : e_private ->im_public_e_private : typeof e_private ->Happy : e_private - - export var publicUse_im_public_e_private = im_public_e_private.Grumpy; ->publicUse_im_public_e_private : e_private ->im_public_e_private.Grumpy : e_private ->im_public_e_private : typeof e_private ->Grumpy : e_private - - var privateUse_im_public_f_private = im_public_f_private(); ->privateUse_im_public_f_private : c_private ->im_public_f_private() : c_private ->im_public_f_private : () => c_private - - export var publicUse_im_public_f_private = im_public_f_private(); ->publicUse_im_public_f_private : c_private ->im_public_f_private() : c_private ->im_public_f_private : () => c_private - - var privateUse_im_public_v_private = im_public_v_private; ->privateUse_im_public_v_private : c_private ->im_public_v_private : c_private - - export var publicUse_im_public_v_private = im_public_v_private; ->publicUse_im_public_v_private : c_private ->im_public_v_private : c_private - - var privateUse_im_public_i_private: im_public_i_private; ->privateUse_im_public_i_private : i_private ->im_public_i_private : im_public_i_private - - export var publicUse_im_public_i_private: im_public_i_private; ->publicUse_im_public_i_private : i_private ->im_public_i_private : im_public_i_private - - var privateUse_im_public_mi_private = new im_public_mi_private.c(); ->privateUse_im_public_mi_private : c ->new im_public_mi_private.c() : c ->im_public_mi_private.c : typeof c ->im_public_mi_private : typeof mi_private ->c : typeof c - - export var publicUse_im_public_mi_private = new im_public_mi_private.c(); ->publicUse_im_public_mi_private : c ->new im_public_mi_private.c() : c ->im_public_mi_private.c : typeof c ->im_public_mi_private : typeof mi_private ->c : typeof c - - var privateUse_im_public_mu_private: im_public_mu_private.i; ->privateUse_im_public_mu_private : i ->im_public_mu_private : im_public_mu_private ->i : i - - export var publicUse_im_public_mu_private: im_public_mu_private.i; ->publicUse_im_public_mu_private : i ->im_public_mu_private : im_public_mu_private ->i : i - - - // No Privacy errors - importing public elements - export import im_public_c_public = m_public.c_public; ->im_public_c_public : typeof c_public ->m_public : c_public ->c_public : c_public - - export import im_public_e_public = m_public.e_public; ->im_public_e_public : typeof e_public ->m_public : e_public ->e_public : e_public - - export import im_public_f_public = m_public.f_public; ->im_public_f_public : () => c_public ->m_public : () => c_public ->f_public : () => c_public - - export import im_public_v_public = m_public.v_public; ->im_public_v_public : number ->m_public : number ->v_public : number - - export import im_public_i_public = m_public.i_public; ->im_public_i_public : im_public_i_public ->m_public : i_public ->i_public : i_public - - export import im_public_mi_public = m_public.mi_public; ->im_public_mi_public : typeof mi_public ->m_public : typeof mi_public ->mi_public : typeof mi_public - - export import im_public_mu_public = m_public.mu_public; ->im_public_mu_public : im_public_mu_public ->m_public : m_public ->mu_public : mu_public - - // Usage of above - var privateUse_im_public_c_public = new im_public_c_public(); ->privateUse_im_public_c_public : c_public ->new im_public_c_public() : c_public ->im_public_c_public : typeof c_public - - export var publicUse_im_public_c_public = new im_public_c_public(); ->publicUse_im_public_c_public : c_public ->new im_public_c_public() : c_public ->im_public_c_public : typeof c_public - - var privateUse_im_public_e_public = im_public_e_public.Happy; ->privateUse_im_public_e_public : e_public ->im_public_e_public.Happy : e_public ->im_public_e_public : typeof e_public ->Happy : e_public - - export var publicUse_im_public_e_public = im_public_e_public.Grumpy; ->publicUse_im_public_e_public : e_public ->im_public_e_public.Grumpy : e_public ->im_public_e_public : typeof e_public ->Grumpy : e_public - - var privateUse_im_public_f_public = im_public_f_public(); ->privateUse_im_public_f_public : c_public ->im_public_f_public() : c_public ->im_public_f_public : () => c_public - - export var publicUse_im_public_f_public = im_public_f_public(); ->publicUse_im_public_f_public : c_public ->im_public_f_public() : c_public ->im_public_f_public : () => c_public - - var privateUse_im_public_v_public = im_public_v_public; ->privateUse_im_public_v_public : number ->im_public_v_public : number - - export var publicUse_im_public_v_public = im_public_v_public; ->publicUse_im_public_v_public : number ->im_public_v_public : number - - var privateUse_im_public_i_public: im_public_i_public; ->privateUse_im_public_i_public : i_public ->im_public_i_public : im_public_i_public - - export var publicUse_im_public_i_public: im_public_i_public; ->publicUse_im_public_i_public : i_public ->im_public_i_public : im_public_i_public - - var privateUse_im_public_mi_public = new im_public_mi_public.c(); ->privateUse_im_public_mi_public : c ->new im_public_mi_public.c() : c ->im_public_mi_public.c : typeof c ->im_public_mi_public : typeof mi_public ->c : typeof c - - export var publicUse_im_public_mi_public = new im_public_mi_public.c(); ->publicUse_im_public_mi_public : c ->new im_public_mi_public.c() : c ->im_public_mi_public.c : typeof c ->im_public_mi_public : typeof mi_public ->c : typeof c - - var privateUse_im_public_mu_public: im_public_mu_public.i; ->privateUse_im_public_mu_public : i ->im_public_mu_public : im_public_mu_public ->i : i - - export var publicUse_im_public_mu_public: im_public_mu_public.i; ->publicUse_im_public_mu_public : i ->im_public_mu_public : im_public_mu_public ->i : i -} - -module import_private { ->import_private : typeof import_private - - // No Privacy errors - importing private elements - export import im_private_c_private = m_private.c_private; ->im_private_c_private : typeof c_private ->m_private : c_private ->c_private : c_private - - export import im_private_e_private = m_private.e_private; ->im_private_e_private : typeof e_private ->m_private : e_private ->e_private : e_private - - export import im_private_f_private = m_private.f_private; ->im_private_f_private : () => c_private ->m_private : () => c_private ->f_private : () => c_private - - export import im_private_v_private = m_private.v_private; ->im_private_v_private : c_private ->m_private : c_private ->v_private : c_private - - export import im_private_i_private = m_private.i_private; ->im_private_i_private : im_private_i_private ->m_private : i_private ->i_private : i_private - - export import im_private_mi_private = m_private.mi_private; ->im_private_mi_private : typeof mi_private ->m_private : typeof mi_private ->mi_private : typeof mi_private - - export import im_private_mu_private = m_private.mu_private; ->im_private_mu_private : im_private_mu_private ->m_private : m_private ->mu_private : mu_private - - // Usage of above decls - var privateUse_im_private_c_private = new im_private_c_private(); ->privateUse_im_private_c_private : c_private ->new im_private_c_private() : c_private ->im_private_c_private : typeof c_private - - export var publicUse_im_private_c_private = new im_private_c_private(); ->publicUse_im_private_c_private : c_private ->new im_private_c_private() : c_private ->im_private_c_private : typeof c_private - - var privateUse_im_private_e_private = im_private_e_private.Happy; ->privateUse_im_private_e_private : e_private ->im_private_e_private.Happy : e_private ->im_private_e_private : typeof e_private ->Happy : e_private - - export var publicUse_im_private_e_private = im_private_e_private.Grumpy; ->publicUse_im_private_e_private : e_private ->im_private_e_private.Grumpy : e_private ->im_private_e_private : typeof e_private ->Grumpy : e_private - - var privateUse_im_private_f_private = im_private_f_private(); ->privateUse_im_private_f_private : c_private ->im_private_f_private() : c_private ->im_private_f_private : () => c_private - - export var publicUse_im_private_f_private = im_private_f_private(); ->publicUse_im_private_f_private : c_private ->im_private_f_private() : c_private ->im_private_f_private : () => c_private - - var privateUse_im_private_v_private = im_private_v_private; ->privateUse_im_private_v_private : c_private ->im_private_v_private : c_private - - export var publicUse_im_private_v_private = im_private_v_private; ->publicUse_im_private_v_private : c_private ->im_private_v_private : c_private - - var privateUse_im_private_i_private: im_private_i_private; ->privateUse_im_private_i_private : i_private ->im_private_i_private : im_private_i_private - - export var publicUse_im_private_i_private: im_private_i_private; ->publicUse_im_private_i_private : i_private ->im_private_i_private : im_private_i_private - - var privateUse_im_private_mi_private = new im_private_mi_private.c(); ->privateUse_im_private_mi_private : c ->new im_private_mi_private.c() : c ->im_private_mi_private.c : typeof c ->im_private_mi_private : typeof mi_private ->c : typeof c - - export var publicUse_im_private_mi_private = new im_private_mi_private.c(); ->publicUse_im_private_mi_private : c ->new im_private_mi_private.c() : c ->im_private_mi_private.c : typeof c ->im_private_mi_private : typeof mi_private ->c : typeof c - - var privateUse_im_private_mu_private: im_private_mu_private.i; ->privateUse_im_private_mu_private : i ->im_private_mu_private : im_private_mu_private ->i : i - - export var publicUse_im_private_mu_private: im_private_mu_private.i; ->publicUse_im_private_mu_private : i ->im_private_mu_private : im_private_mu_private ->i : i - - // No privacy Error - importing public elements - export import im_private_c_public = m_public.c_public; ->im_private_c_public : typeof c_public ->m_public : c_public ->c_public : c_public - - export import im_private_e_public = m_public.e_public; ->im_private_e_public : typeof e_public ->m_public : e_public ->e_public : e_public - - export import im_private_f_public = m_public.f_public; ->im_private_f_public : () => c_public ->m_public : () => c_public ->f_public : () => c_public - - export import im_private_v_public = m_public.v_public; ->im_private_v_public : number ->m_public : number ->v_public : number - - export import im_private_i_public = m_public.i_public; ->im_private_i_public : im_private_i_public ->m_public : i_public ->i_public : i_public - - export import im_private_mi_public = m_public.mi_public; ->im_private_mi_public : typeof mi_public ->m_public : typeof mi_public ->mi_public : typeof mi_public - - export import im_private_mu_public = m_public.mu_public; ->im_private_mu_public : im_private_mu_public ->m_public : m_public ->mu_public : mu_public - - // Usage of no privacy error imports - var privateUse_im_private_c_public = new im_private_c_public(); ->privateUse_im_private_c_public : c_public ->new im_private_c_public() : c_public ->im_private_c_public : typeof c_public - - export var publicUse_im_private_c_public = new im_private_c_public(); ->publicUse_im_private_c_public : c_public ->new im_private_c_public() : c_public ->im_private_c_public : typeof c_public - - var privateUse_im_private_e_public = im_private_e_public.Happy; ->privateUse_im_private_e_public : e_public ->im_private_e_public.Happy : e_public ->im_private_e_public : typeof e_public ->Happy : e_public - - export var publicUse_im_private_e_public = im_private_e_public.Grumpy; ->publicUse_im_private_e_public : e_public ->im_private_e_public.Grumpy : e_public ->im_private_e_public : typeof e_public ->Grumpy : e_public - - var privateUse_im_private_f_public = im_private_f_public(); ->privateUse_im_private_f_public : c_public ->im_private_f_public() : c_public ->im_private_f_public : () => c_public - - export var publicUse_im_private_f_public = im_private_f_public(); ->publicUse_im_private_f_public : c_public ->im_private_f_public() : c_public ->im_private_f_public : () => c_public - - var privateUse_im_private_v_public = im_private_v_public; ->privateUse_im_private_v_public : number ->im_private_v_public : number - - export var publicUse_im_private_v_public = im_private_v_public; ->publicUse_im_private_v_public : number ->im_private_v_public : number - - var privateUse_im_private_i_public: im_private_i_public; ->privateUse_im_private_i_public : i_public ->im_private_i_public : im_private_i_public - - export var publicUse_im_private_i_public: im_private_i_public; ->publicUse_im_private_i_public : i_public ->im_private_i_public : im_private_i_public - - var privateUse_im_private_mi_public = new im_private_mi_public.c(); ->privateUse_im_private_mi_public : c ->new im_private_mi_public.c() : c ->im_private_mi_public.c : typeof c ->im_private_mi_public : typeof mi_public ->c : typeof c - - export var publicUse_im_private_mi_public = new im_private_mi_public.c(); ->publicUse_im_private_mi_public : c ->new im_private_mi_public.c() : c ->im_private_mi_public.c : typeof c ->im_private_mi_public : typeof mi_public ->c : typeof c - - var privateUse_im_private_mu_public: im_private_mu_public.i; ->privateUse_im_private_mu_public : i ->im_private_mu_public : im_private_mu_public ->i : i - - export var publicUse_im_private_mu_public: im_private_mu_public.i; ->publicUse_im_private_mu_public : i ->im_private_mu_public : im_private_mu_public ->i : i -} diff --git a/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.types b/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.types deleted file mode 100644 index 3951ac5154..0000000000 --- a/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.types +++ /dev/null @@ -1,537 +0,0 @@ -=== tests/cases/compiler/privacyLocalInternalReferenceImportWithoutExport.ts === -// private elements -module m_private { ->m_private : typeof m_private - - export class c_private { ->c_private : c_private - } - export enum e_private { ->e_private : e_private - - Happy, ->Happy : e_private - - Grumpy ->Grumpy : e_private - } - export function f_private() { ->f_private : () => c_private - - return new c_private(); ->new c_private() : c_private ->c_private : typeof c_private - } - export var v_private = new c_private(); ->v_private : c_private ->new c_private() : c_private ->c_private : typeof c_private - - export interface i_private { ->i_private : i_private - } - export module mi_private { ->mi_private : typeof mi_private - - export class c { ->c : c - } - } - export module mu_private { ->mu_private : mu_private - - export interface i { ->i : i - } - } -} - -// Public elements -export module m_public { ->m_public : typeof m_public - - export class c_public { ->c_public : c_public - } - export enum e_public { ->e_public : e_public - - Happy, ->Happy : e_public - - Grumpy ->Grumpy : e_public - } - export function f_public() { ->f_public : () => c_public - - return new c_public(); ->new c_public() : c_public ->c_public : typeof c_public - } - export var v_public = 10; ->v_public : number - - export interface i_public { ->i_public : i_public - } - export module mi_public { ->mi_public : typeof mi_public - - export class c { ->c : c - } - } - export module mu_public { ->mu_public : mu_public - - export interface i { ->i : i - } - } -} - -export module import_public { ->import_public : typeof import_public - - // No Privacy errors - importing private elements - import im_private_c_private = m_private.c_private; ->im_private_c_private : typeof c_private ->m_private : c_private ->c_private : c_private - - import im_private_e_private = m_private.e_private; ->im_private_e_private : typeof e_private ->m_private : e_private ->e_private : e_private - - import im_private_f_private = m_private.f_private; ->im_private_f_private : () => c_private ->m_private : () => c_private ->f_private : () => c_private - - import im_private_v_private = m_private.v_private; ->im_private_v_private : c_private ->m_private : c_private ->v_private : c_private - - import im_private_i_private = m_private.i_private; ->im_private_i_private : im_private_i_private ->m_private : i_private ->i_private : i_private - - import im_private_mi_private = m_private.mi_private; ->im_private_mi_private : typeof mi_private ->m_private : typeof mi_private ->mi_private : typeof mi_private - - import im_private_mu_private = m_private.mu_private; ->im_private_mu_private : im_private_mu_private ->m_private : m_private ->mu_private : mu_private - - // Usage of above decls - var privateUse_im_private_c_private = new im_private_c_private(); ->privateUse_im_private_c_private : c_private ->new im_private_c_private() : c_private ->im_private_c_private : typeof c_private - - export var publicUse_im_private_c_private = new im_private_c_private(); ->publicUse_im_private_c_private : c_private ->new im_private_c_private() : c_private ->im_private_c_private : typeof c_private - - var privateUse_im_private_e_private = im_private_e_private.Happy; ->privateUse_im_private_e_private : e_private ->im_private_e_private.Happy : e_private ->im_private_e_private : typeof e_private ->Happy : e_private - - export var publicUse_im_private_e_private = im_private_e_private.Grumpy; ->publicUse_im_private_e_private : e_private ->im_private_e_private.Grumpy : e_private ->im_private_e_private : typeof e_private ->Grumpy : e_private - - var privateUse_im_private_f_private = im_private_f_private(); ->privateUse_im_private_f_private : c_private ->im_private_f_private() : c_private ->im_private_f_private : () => c_private - - export var publicUse_im_private_f_private = im_private_f_private(); ->publicUse_im_private_f_private : c_private ->im_private_f_private() : c_private ->im_private_f_private : () => c_private - - var privateUse_im_private_v_private = im_private_v_private; ->privateUse_im_private_v_private : c_private ->im_private_v_private : c_private - - export var publicUse_im_private_v_private = im_private_v_private; ->publicUse_im_private_v_private : c_private ->im_private_v_private : c_private - - var privateUse_im_private_i_private: im_private_i_private; ->privateUse_im_private_i_private : i_private ->im_private_i_private : im_private_i_private - - export var publicUse_im_private_i_private: im_private_i_private; ->publicUse_im_private_i_private : i_private ->im_private_i_private : im_private_i_private - - var privateUse_im_private_mi_private = new im_private_mi_private.c(); ->privateUse_im_private_mi_private : c ->new im_private_mi_private.c() : c ->im_private_mi_private.c : typeof c ->im_private_mi_private : typeof mi_private ->c : typeof c - - export var publicUse_im_private_mi_private = new im_private_mi_private.c(); ->publicUse_im_private_mi_private : c ->new im_private_mi_private.c() : c ->im_private_mi_private.c : typeof c ->im_private_mi_private : typeof mi_private ->c : typeof c - - var privateUse_im_private_mu_private: im_private_mu_private.i; ->privateUse_im_private_mu_private : i ->im_private_mu_private : im_private_mu_private ->i : i - - export var publicUse_im_private_mu_private: im_private_mu_private.i; ->publicUse_im_private_mu_private : i ->im_private_mu_private : im_private_mu_private ->i : i - - - // No Privacy errors - importing public elements - import im_private_c_public = m_public.c_public; ->im_private_c_public : typeof c_public ->m_public : c_public ->c_public : c_public - - import im_private_e_public = m_public.e_public; ->im_private_e_public : typeof e_public ->m_public : e_public ->e_public : e_public - - import im_private_f_public = m_public.f_public; ->im_private_f_public : () => c_public ->m_public : () => c_public ->f_public : () => c_public - - import im_private_v_public = m_public.v_public; ->im_private_v_public : number ->m_public : number ->v_public : number - - import im_private_i_public = m_public.i_public; ->im_private_i_public : im_private_i_public ->m_public : i_public ->i_public : i_public - - import im_private_mi_public = m_public.mi_public; ->im_private_mi_public : typeof mi_public ->m_public : typeof mi_public ->mi_public : typeof mi_public - - import im_private_mu_public = m_public.mu_public; ->im_private_mu_public : im_private_mu_public ->m_public : m_public ->mu_public : mu_public - - // Usage of above decls - var privateUse_im_private_c_public = new im_private_c_public(); ->privateUse_im_private_c_public : c_public ->new im_private_c_public() : c_public ->im_private_c_public : typeof c_public - - export var publicUse_im_private_c_public = new im_private_c_public(); ->publicUse_im_private_c_public : c_public ->new im_private_c_public() : c_public ->im_private_c_public : typeof c_public - - var privateUse_im_private_e_public = im_private_e_public.Happy; ->privateUse_im_private_e_public : e_public ->im_private_e_public.Happy : e_public ->im_private_e_public : typeof e_public ->Happy : e_public - - export var publicUse_im_private_e_public = im_private_e_public.Grumpy; ->publicUse_im_private_e_public : e_public ->im_private_e_public.Grumpy : e_public ->im_private_e_public : typeof e_public ->Grumpy : e_public - - var privateUse_im_private_f_public = im_private_f_public(); ->privateUse_im_private_f_public : c_public ->im_private_f_public() : c_public ->im_private_f_public : () => c_public - - export var publicUse_im_private_f_public = im_private_f_public(); ->publicUse_im_private_f_public : c_public ->im_private_f_public() : c_public ->im_private_f_public : () => c_public - - var privateUse_im_private_v_public = im_private_v_public; ->privateUse_im_private_v_public : number ->im_private_v_public : number - - export var publicUse_im_private_v_public = im_private_v_public; ->publicUse_im_private_v_public : number ->im_private_v_public : number - - var privateUse_im_private_i_public: im_private_i_public; ->privateUse_im_private_i_public : i_public ->im_private_i_public : im_private_i_public - - export var publicUse_im_private_i_public: im_private_i_public; ->publicUse_im_private_i_public : i_public ->im_private_i_public : im_private_i_public - - var privateUse_im_private_mi_public = new im_private_mi_public.c(); ->privateUse_im_private_mi_public : c ->new im_private_mi_public.c() : c ->im_private_mi_public.c : typeof c ->im_private_mi_public : typeof mi_public ->c : typeof c - - export var publicUse_im_private_mi_public = new im_private_mi_public.c(); ->publicUse_im_private_mi_public : c ->new im_private_mi_public.c() : c ->im_private_mi_public.c : typeof c ->im_private_mi_public : typeof mi_public ->c : typeof c - - var privateUse_im_private_mu_public: im_private_mu_public.i; ->privateUse_im_private_mu_public : i ->im_private_mu_public : im_private_mu_public ->i : i - - export var publicUse_im_private_mu_public: im_private_mu_public.i; ->publicUse_im_private_mu_public : i ->im_private_mu_public : im_private_mu_public ->i : i -} - -module import_private { ->import_private : typeof import_private - - // No Privacy errors - importing private elements - import im_private_c_private = m_private.c_private; ->im_private_c_private : typeof c_private ->m_private : c_private ->c_private : c_private - - import im_private_e_private = m_private.e_private; ->im_private_e_private : typeof e_private ->m_private : e_private ->e_private : e_private - - import im_private_f_private = m_private.f_private; ->im_private_f_private : () => c_private ->m_private : () => c_private ->f_private : () => c_private - - import im_private_v_private = m_private.v_private; ->im_private_v_private : c_private ->m_private : c_private ->v_private : c_private - - import im_private_i_private = m_private.i_private; ->im_private_i_private : im_private_i_private ->m_private : i_private ->i_private : i_private - - import im_private_mi_private = m_private.mi_private; ->im_private_mi_private : typeof mi_private ->m_private : typeof mi_private ->mi_private : typeof mi_private - - import im_private_mu_private = m_private.mu_private; ->im_private_mu_private : im_private_mu_private ->m_private : m_private ->mu_private : mu_private - - // Usage of above decls - var privateUse_im_private_c_private = new im_private_c_private(); ->privateUse_im_private_c_private : c_private ->new im_private_c_private() : c_private ->im_private_c_private : typeof c_private - - export var publicUse_im_private_c_private = new im_private_c_private(); ->publicUse_im_private_c_private : c_private ->new im_private_c_private() : c_private ->im_private_c_private : typeof c_private - - var privateUse_im_private_e_private = im_private_e_private.Happy; ->privateUse_im_private_e_private : e_private ->im_private_e_private.Happy : e_private ->im_private_e_private : typeof e_private ->Happy : e_private - - export var publicUse_im_private_e_private = im_private_e_private.Grumpy; ->publicUse_im_private_e_private : e_private ->im_private_e_private.Grumpy : e_private ->im_private_e_private : typeof e_private ->Grumpy : e_private - - var privateUse_im_private_f_private = im_private_f_private(); ->privateUse_im_private_f_private : c_private ->im_private_f_private() : c_private ->im_private_f_private : () => c_private - - export var publicUse_im_private_f_private = im_private_f_private(); ->publicUse_im_private_f_private : c_private ->im_private_f_private() : c_private ->im_private_f_private : () => c_private - - var privateUse_im_private_v_private = im_private_v_private; ->privateUse_im_private_v_private : c_private ->im_private_v_private : c_private - - export var publicUse_im_private_v_private = im_private_v_private; ->publicUse_im_private_v_private : c_private ->im_private_v_private : c_private - - var privateUse_im_private_i_private: im_private_i_private; ->privateUse_im_private_i_private : i_private ->im_private_i_private : im_private_i_private - - export var publicUse_im_private_i_private: im_private_i_private; ->publicUse_im_private_i_private : i_private ->im_private_i_private : im_private_i_private - - var privateUse_im_private_mi_private = new im_private_mi_private.c(); ->privateUse_im_private_mi_private : c ->new im_private_mi_private.c() : c ->im_private_mi_private.c : typeof c ->im_private_mi_private : typeof mi_private ->c : typeof c - - export var publicUse_im_private_mi_private = new im_private_mi_private.c(); ->publicUse_im_private_mi_private : c ->new im_private_mi_private.c() : c ->im_private_mi_private.c : typeof c ->im_private_mi_private : typeof mi_private ->c : typeof c - - var privateUse_im_private_mu_private: im_private_mu_private.i; ->privateUse_im_private_mu_private : i ->im_private_mu_private : im_private_mu_private ->i : i - - export var publicUse_im_private_mu_private: im_private_mu_private.i; ->publicUse_im_private_mu_private : i ->im_private_mu_private : im_private_mu_private ->i : i - - // No privacy Error - importing public elements - import im_private_c_public = m_public.c_public; ->im_private_c_public : typeof c_public ->m_public : c_public ->c_public : c_public - - import im_private_e_public = m_public.e_public; ->im_private_e_public : typeof e_public ->m_public : e_public ->e_public : e_public - - import im_private_f_public = m_public.f_public; ->im_private_f_public : () => c_public ->m_public : () => c_public ->f_public : () => c_public - - import im_private_v_public = m_public.v_public; ->im_private_v_public : number ->m_public : number ->v_public : number - - import im_private_i_public = m_public.i_public; ->im_private_i_public : im_private_i_public ->m_public : i_public ->i_public : i_public - - import im_private_mi_public = m_public.mi_public; ->im_private_mi_public : typeof mi_public ->m_public : typeof mi_public ->mi_public : typeof mi_public - - import im_private_mu_public = m_public.mu_public; ->im_private_mu_public : im_private_mu_public ->m_public : m_public ->mu_public : mu_public - - // Usage of above decls - var privateUse_im_private_c_public = new im_private_c_public(); ->privateUse_im_private_c_public : c_public ->new im_private_c_public() : c_public ->im_private_c_public : typeof c_public - - export var publicUse_im_private_c_public = new im_private_c_public(); ->publicUse_im_private_c_public : c_public ->new im_private_c_public() : c_public ->im_private_c_public : typeof c_public - - var privateUse_im_private_e_public = im_private_e_public.Happy; ->privateUse_im_private_e_public : e_public ->im_private_e_public.Happy : e_public ->im_private_e_public : typeof e_public ->Happy : e_public - - export var publicUse_im_private_e_public = im_private_e_public.Grumpy; ->publicUse_im_private_e_public : e_public ->im_private_e_public.Grumpy : e_public ->im_private_e_public : typeof e_public ->Grumpy : e_public - - var privateUse_im_private_f_public = im_private_f_public(); ->privateUse_im_private_f_public : c_public ->im_private_f_public() : c_public ->im_private_f_public : () => c_public - - export var publicUse_im_private_f_public = im_private_f_public(); ->publicUse_im_private_f_public : c_public ->im_private_f_public() : c_public ->im_private_f_public : () => c_public - - var privateUse_im_private_v_public = im_private_v_public; ->privateUse_im_private_v_public : number ->im_private_v_public : number - - export var publicUse_im_private_v_public = im_private_v_public; ->publicUse_im_private_v_public : number ->im_private_v_public : number - - var privateUse_im_private_i_public: im_private_i_public; ->privateUse_im_private_i_public : i_public ->im_private_i_public : im_private_i_public - - export var publicUse_im_private_i_public: im_private_i_public; ->publicUse_im_private_i_public : i_public ->im_private_i_public : im_private_i_public - - var privateUse_im_private_mi_public = new im_private_mi_public.c(); ->privateUse_im_private_mi_public : c ->new im_private_mi_public.c() : c ->im_private_mi_public.c : typeof c ->im_private_mi_public : typeof mi_public ->c : typeof c - - export var publicUse_im_private_mi_public = new im_private_mi_public.c(); ->publicUse_im_private_mi_public : c ->new im_private_mi_public.c() : c ->im_private_mi_public.c : typeof c ->im_private_mi_public : typeof mi_public ->c : typeof c - - var privateUse_im_private_mu_public: im_private_mu_public.i; ->privateUse_im_private_mu_public : i ->im_private_mu_public : im_private_mu_public ->i : i - - export var publicUse_im_private_mu_public: im_private_mu_public.i; ->publicUse_im_private_mu_public : i ->im_private_mu_public : im_private_mu_public ->i : i -} diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types new file mode 100644 index 0000000000..bb52127b6a --- /dev/null +++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types @@ -0,0 +1,113 @@ +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_core.ts === +/// +/// +// Privacy errors - importing private elements +export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require"); +>im_public_mi_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require" + +export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1"); +>im_public_mu_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1" + +export import im_public_mi_public = require("m"); +>im_public_mi_public : typeof 'm' + +export import im_public_mu_public = require("m2"); +>im_public_mu_public : typeof 'm2' + +// Usage of privacy error imports +var privateUse_im_public_mi_private = new im_public_mi_private.c_public(); +>privateUse_im_public_mi_private : c_public +>new im_public_mi_private.c_public() : c_public +>im_public_mi_private.c_public : typeof c_public +>im_public_mi_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require" +>c_public : typeof c_public + +export var publicUse_im_public_mi_private = new im_public_mi_private.c_public(); +>publicUse_im_public_mi_private : c_public +>new im_public_mi_private.c_public() : c_public +>im_public_mi_private.c_public : typeof c_public +>im_public_mi_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require" +>c_public : typeof c_public + +var privateUse_im_public_mu_private = new im_public_mu_private.c_public(); +>privateUse_im_public_mu_private : c_public +>new im_public_mu_private.c_public() : c_public +>im_public_mu_private.c_public : typeof c_public +>im_public_mu_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1" +>c_public : typeof c_public + +export var publicUse_im_public_mu_private = new im_public_mu_private.c_public(); +>publicUse_im_public_mu_private : c_public +>new im_public_mu_private.c_public() : c_public +>im_public_mu_private.c_public : typeof c_public +>im_public_mu_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1" +>c_public : typeof c_public + +var privateUse_im_public_mi_public = new im_public_mi_public.c_private(); +>privateUse_im_public_mi_public : c_private +>new im_public_mi_public.c_private() : c_private +>im_public_mi_public.c_private : typeof c_private +>im_public_mi_public : typeof 'm' +>c_private : typeof c_private + +export var publicUse_im_public_mi_public = new im_public_mi_public.c_private(); +>publicUse_im_public_mi_public : c_private +>new im_public_mi_public.c_private() : c_private +>im_public_mi_public.c_private : typeof c_private +>im_public_mi_public : typeof 'm' +>c_private : typeof c_private + +var privateUse_im_public_mi_public = new im_public_mi_public.c_private(); +>privateUse_im_public_mi_public : c_private +>new im_public_mi_public.c_private() : c_private +>im_public_mi_public.c_private : typeof c_private +>im_public_mi_public : typeof 'm' +>c_private : typeof c_private + +export var publicUse_im_public_mi_public = new im_public_mi_public.c_private(); +>publicUse_im_public_mi_public : c_private +>new im_public_mi_public.c_private() : c_private +>im_public_mi_public.c_private : typeof c_private +>im_public_mi_public : typeof 'm' +>c_private : typeof c_private + +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require.ts === +// Public elements +export class c_public { +>c_public : c_public + + foo: string; +>foo : string +} + +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1.ts === +export class c_public { +>c_public : c_public + + bar: string; +>bar : string +} + +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts === +// private elements +// Export - Error ambient modules allowed only in global +declare module 'm' { + export class c_private { +>c_private : c_private + + baz: string; +>baz : string + } +} + + +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require3.ts === +declare module 'm2' { + export class c_private { +>c_private : c_private + + bing: string; +>bing : string + } +} + diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.types b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.types new file mode 100644 index 0000000000..3825f7e2a3 --- /dev/null +++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.types @@ -0,0 +1,113 @@ +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_core.ts === +/// +/// +// Privacy errors - importing private elements +import im_private_mi_private = require("m"); +>im_private_mi_private : typeof 'm' + +import im_private_mu_private = require("m2"); +>im_private_mu_private : typeof 'm2' + +import im_private_mi_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require"); +>im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" + +import im_private_mu_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require1"); +>im_private_mu_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require1" + +// Usage of privacy error imports +var privateUse_im_private_mi_private = new im_private_mi_private.c_private(); +>privateUse_im_private_mi_private : c_private +>new im_private_mi_private.c_private() : c_private +>im_private_mi_private.c_private : typeof c_private +>im_private_mi_private : typeof 'm' +>c_private : typeof c_private + +export var publicUse_im_private_mi_private = new im_private_mi_private.c_private(); +>publicUse_im_private_mi_private : c_private +>new im_private_mi_private.c_private() : c_private +>im_private_mi_private.c_private : typeof c_private +>im_private_mi_private : typeof 'm' +>c_private : typeof c_private + +var privateUse_im_private_mu_private = new im_private_mu_private.c_private(); +>privateUse_im_private_mu_private : c_private +>new im_private_mu_private.c_private() : c_private +>im_private_mu_private.c_private : typeof c_private +>im_private_mu_private : typeof 'm2' +>c_private : typeof c_private + +export var publicUse_im_private_mu_private = new im_private_mu_private.c_private(); +>publicUse_im_private_mu_private : c_private +>new im_private_mu_private.c_private() : c_private +>im_private_mu_private.c_private : typeof c_private +>im_private_mu_private : typeof 'm2' +>c_private : typeof c_private + +var privateUse_im_private_mi_public = new im_private_mi_public.c_public(); +>privateUse_im_private_mi_public : c_public +>new im_private_mi_public.c_public() : c_public +>im_private_mi_public.c_public : typeof c_public +>im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" +>c_public : typeof c_public + +export var publicUse_im_private_mi_public = new im_private_mi_public.c_public(); +>publicUse_im_private_mi_public : c_public +>new im_private_mi_public.c_public() : c_public +>im_private_mi_public.c_public : typeof c_public +>im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" +>c_public : typeof c_public + +var privateUse_im_private_mi_public = new im_private_mi_public.c_public(); +>privateUse_im_private_mi_public : c_public +>new im_private_mi_public.c_public() : c_public +>im_private_mi_public.c_public : typeof c_public +>im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" +>c_public : typeof c_public + +export var publicUse_im_private_mi_public = new im_private_mi_public.c_public(); +>publicUse_im_private_mi_public : c_public +>new im_private_mi_public.c_public() : c_public +>im_private_mi_public.c_public : typeof c_public +>im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" +>c_public : typeof c_public + +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require.ts === + +// Public elements +export class c_public { +>c_public : c_public + + foo: string; +>foo : string +} + +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require1.ts === +export class c_public { +>c_public : c_public + + bar: string; +>bar : string +} + +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.ts === +// private elements +// Export - Error ambient modules allowed only in global +declare module 'm' { + export class c_private { +>c_private : c_private + + baz: string +>baz : string + } +} + +=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.ts === +declare module 'm2' { + export class c_private { +>c_private : c_private + + bing: string; +>bing : string + } +} + diff --git a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.types b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.types deleted file mode 100644 index 18b574d212..0000000000 --- a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.types +++ /dev/null @@ -1,312 +0,0 @@ -=== tests/cases/compiler/privacyTopLevelInternalReferenceImportWithExport.ts === -// private elements -module m_private { ->m_private : typeof m_private - - export class c_private { ->c_private : c_private - } - export enum e_private { ->e_private : e_private - - Happy, ->Happy : e_private - - Grumpy ->Grumpy : e_private - } - export function f_private() { ->f_private : () => c_private - - return new c_private(); ->new c_private() : c_private ->c_private : typeof c_private - } - export var v_private = new c_private(); ->v_private : c_private ->new c_private() : c_private ->c_private : typeof c_private - - export interface i_private { ->i_private : i_private - } - export module mi_private { ->mi_private : typeof mi_private - - export class c { ->c : c - } - } - export module mu_private { ->mu_private : mu_private - - export interface i { ->i : i - } - } -} - -// Public elements -export module m_public { ->m_public : typeof m_public - - export class c_public { ->c_public : c_public - } - export enum e_public { ->e_public : e_public - - Happy, ->Happy : e_public - - Grumpy ->Grumpy : e_public - } - export function f_public() { ->f_public : () => c_public - - return new c_public(); ->new c_public() : c_public ->c_public : typeof c_public - } - export var v_public = 10; ->v_public : number - - export interface i_public { ->i_public : i_public - } - export module mi_public { ->mi_public : typeof mi_public - - export class c { ->c : c - } - } - export module mu_public { ->mu_public : mu_public - - export interface i { ->i : i - } - } -} - -// Privacy errors - importing private elements -export import im_public_c_private = m_private.c_private; ->im_public_c_private : typeof c_private ->m_private : c_private ->c_private : c_private - -export import im_public_e_private = m_private.e_private; ->im_public_e_private : typeof e_private ->m_private : e_private ->e_private : e_private - -export import im_public_f_private = m_private.f_private; ->im_public_f_private : () => c_private ->m_private : () => c_private ->f_private : () => c_private - -export import im_public_v_private = m_private.v_private; ->im_public_v_private : c_private ->m_private : c_private ->v_private : c_private - -export import im_public_i_private = m_private.i_private; ->im_public_i_private : im_public_i_private ->m_private : i_private ->i_private : i_private - -export import im_public_mi_private = m_private.mi_private; ->im_public_mi_private : typeof mi_private ->m_private : typeof mi_private ->mi_private : typeof mi_private - -export import im_public_mu_private = m_private.mu_private; ->im_public_mu_private : im_public_mu_private ->m_private : m_private ->mu_private : mu_private - -// Usage of privacy error imports -var privateUse_im_public_c_private = new im_public_c_private(); ->privateUse_im_public_c_private : c_private ->new im_public_c_private() : c_private ->im_public_c_private : typeof c_private - -export var publicUse_im_public_c_private = new im_public_c_private(); ->publicUse_im_public_c_private : c_private ->new im_public_c_private() : c_private ->im_public_c_private : typeof c_private - -var privateUse_im_public_e_private = im_public_e_private.Happy; ->privateUse_im_public_e_private : e_private ->im_public_e_private.Happy : e_private ->im_public_e_private : typeof e_private ->Happy : e_private - -export var publicUse_im_public_e_private = im_public_e_private.Grumpy; ->publicUse_im_public_e_private : e_private ->im_public_e_private.Grumpy : e_private ->im_public_e_private : typeof e_private ->Grumpy : e_private - -var privateUse_im_public_f_private = im_public_f_private(); ->privateUse_im_public_f_private : c_private ->im_public_f_private() : c_private ->im_public_f_private : () => c_private - -export var publicUse_im_public_f_private = im_public_f_private(); ->publicUse_im_public_f_private : c_private ->im_public_f_private() : c_private ->im_public_f_private : () => c_private - -var privateUse_im_public_v_private = im_public_v_private; ->privateUse_im_public_v_private : c_private ->im_public_v_private : c_private - -export var publicUse_im_public_v_private = im_public_v_private; ->publicUse_im_public_v_private : c_private ->im_public_v_private : c_private - -var privateUse_im_public_i_private: im_public_i_private; ->privateUse_im_public_i_private : i_private ->im_public_i_private : im_public_i_private - -export var publicUse_im_public_i_private: im_public_i_private; ->publicUse_im_public_i_private : i_private ->im_public_i_private : im_public_i_private - -var privateUse_im_public_mi_private = new im_public_mi_private.c(); ->privateUse_im_public_mi_private : c ->new im_public_mi_private.c() : c ->im_public_mi_private.c : typeof c ->im_public_mi_private : typeof mi_private ->c : typeof c - -export var publicUse_im_public_mi_private = new im_public_mi_private.c(); ->publicUse_im_public_mi_private : c ->new im_public_mi_private.c() : c ->im_public_mi_private.c : typeof c ->im_public_mi_private : typeof mi_private ->c : typeof c - -var privateUse_im_public_mu_private: im_public_mu_private.i; ->privateUse_im_public_mu_private : i ->im_public_mu_private : im_public_mu_private ->i : i - -export var publicUse_im_public_mu_private: im_public_mu_private.i; ->publicUse_im_public_mu_private : i ->im_public_mu_private : im_public_mu_private ->i : i - - -// No Privacy errors - importing public elements -export import im_public_c_public = m_public.c_public; ->im_public_c_public : typeof c_public ->m_public : c_public ->c_public : c_public - -export import im_public_e_public = m_public.e_public; ->im_public_e_public : typeof e_public ->m_public : e_public ->e_public : e_public - -export import im_public_f_public = m_public.f_public; ->im_public_f_public : () => c_public ->m_public : () => c_public ->f_public : () => c_public - -export import im_public_v_public = m_public.v_public; ->im_public_v_public : number ->m_public : number ->v_public : number - -export import im_public_i_public = m_public.i_public; ->im_public_i_public : im_public_i_public ->m_public : i_public ->i_public : i_public - -export import im_public_mi_public = m_public.mi_public; ->im_public_mi_public : typeof mi_public ->m_public : typeof mi_public ->mi_public : typeof mi_public - -export import im_public_mu_public = m_public.mu_public; ->im_public_mu_public : im_public_mu_public ->m_public : m_public ->mu_public : mu_public - -// Usage of above decls -var privateUse_im_public_c_public = new im_public_c_public(); ->privateUse_im_public_c_public : c_public ->new im_public_c_public() : c_public ->im_public_c_public : typeof c_public - -export var publicUse_im_public_c_public = new im_public_c_public(); ->publicUse_im_public_c_public : c_public ->new im_public_c_public() : c_public ->im_public_c_public : typeof c_public - -var privateUse_im_public_e_public = im_public_e_public.Happy; ->privateUse_im_public_e_public : e_public ->im_public_e_public.Happy : e_public ->im_public_e_public : typeof e_public ->Happy : e_public - -export var publicUse_im_public_e_public = im_public_e_public.Grumpy; ->publicUse_im_public_e_public : e_public ->im_public_e_public.Grumpy : e_public ->im_public_e_public : typeof e_public ->Grumpy : e_public - -var privateUse_im_public_f_public = im_public_f_public(); ->privateUse_im_public_f_public : c_public ->im_public_f_public() : c_public ->im_public_f_public : () => c_public - -export var publicUse_im_public_f_public = im_public_f_public(); ->publicUse_im_public_f_public : c_public ->im_public_f_public() : c_public ->im_public_f_public : () => c_public - -var privateUse_im_public_v_public = im_public_v_public; ->privateUse_im_public_v_public : number ->im_public_v_public : number - -export var publicUse_im_public_v_public = im_public_v_public; ->publicUse_im_public_v_public : number ->im_public_v_public : number - -var privateUse_im_public_i_public: im_public_i_public; ->privateUse_im_public_i_public : i_public ->im_public_i_public : im_public_i_public - -export var publicUse_im_public_i_public: im_public_i_public; ->publicUse_im_public_i_public : i_public ->im_public_i_public : im_public_i_public - -var privateUse_im_public_mi_public = new im_public_mi_public.c(); ->privateUse_im_public_mi_public : c ->new im_public_mi_public.c() : c ->im_public_mi_public.c : typeof c ->im_public_mi_public : typeof mi_public ->c : typeof c - -export var publicUse_im_public_mi_public = new im_public_mi_public.c(); ->publicUse_im_public_mi_public : c ->new im_public_mi_public.c() : c ->im_public_mi_public.c : typeof c ->im_public_mi_public : typeof mi_public ->c : typeof c - -var privateUse_im_public_mu_public: im_public_mu_public.i; ->privateUse_im_public_mu_public : i ->im_public_mu_public : im_public_mu_public ->i : i - -export var publicUse_im_public_mu_public: im_public_mu_public.i; ->publicUse_im_public_mu_public : i ->im_public_mu_public : im_public_mu_public ->i : i - diff --git a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.types b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.types deleted file mode 100644 index 4a60c1e069..0000000000 --- a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.types +++ /dev/null @@ -1,312 +0,0 @@ -=== tests/cases/compiler/privacyTopLevelInternalReferenceImportWithoutExport.ts === -// private elements -module m_private { ->m_private : typeof m_private - - export class c_private { ->c_private : c_private - } - export enum e_private { ->e_private : e_private - - Happy, ->Happy : e_private - - Grumpy ->Grumpy : e_private - } - export function f_private() { ->f_private : () => c_private - - return new c_private(); ->new c_private() : c_private ->c_private : typeof c_private - } - export var v_private = new c_private(); ->v_private : c_private ->new c_private() : c_private ->c_private : typeof c_private - - export interface i_private { ->i_private : i_private - } - export module mi_private { ->mi_private : typeof mi_private - - export class c { ->c : c - } - } - export module mu_private { ->mu_private : mu_private - - export interface i { ->i : i - } - } -} - -// Public elements -export module m_public { ->m_public : typeof m_public - - export class c_public { ->c_public : c_public - } - export enum e_public { ->e_public : e_public - - Happy, ->Happy : e_public - - Grumpy ->Grumpy : e_public - } - export function f_public() { ->f_public : () => c_public - - return new c_public(); ->new c_public() : c_public ->c_public : typeof c_public - } - export var v_public = 10; ->v_public : number - - export interface i_public { ->i_public : i_public - } - export module mi_public { ->mi_public : typeof mi_public - - export class c { ->c : c - } - } - export module mu_public { ->mu_public : mu_public - - export interface i { ->i : i - } - } -} - -// No Privacy errors - importing private elements -import im_private_c_private = m_private.c_private; ->im_private_c_private : typeof c_private ->m_private : c_private ->c_private : c_private - -import im_private_e_private = m_private.e_private; ->im_private_e_private : typeof e_private ->m_private : e_private ->e_private : e_private - -import im_private_f_private = m_private.f_private; ->im_private_f_private : () => c_private ->m_private : () => c_private ->f_private : () => c_private - -import im_private_v_private = m_private.v_private; ->im_private_v_private : c_private ->m_private : c_private ->v_private : c_private - -import im_private_i_private = m_private.i_private; ->im_private_i_private : im_private_i_private ->m_private : i_private ->i_private : i_private - -import im_private_mi_private = m_private.mi_private; ->im_private_mi_private : typeof mi_private ->m_private : typeof mi_private ->mi_private : typeof mi_private - -import im_private_mu_private = m_private.mu_private; ->im_private_mu_private : im_private_mu_private ->m_private : m_private ->mu_private : mu_private - -// Usage of above decls -var privateUse_im_private_c_private = new im_private_c_private(); ->privateUse_im_private_c_private : c_private ->new im_private_c_private() : c_private ->im_private_c_private : typeof c_private - -export var publicUse_im_private_c_private = new im_private_c_private(); ->publicUse_im_private_c_private : c_private ->new im_private_c_private() : c_private ->im_private_c_private : typeof c_private - -var privateUse_im_private_e_private = im_private_e_private.Happy; ->privateUse_im_private_e_private : e_private ->im_private_e_private.Happy : e_private ->im_private_e_private : typeof e_private ->Happy : e_private - -export var publicUse_im_private_e_private = im_private_e_private.Grumpy; ->publicUse_im_private_e_private : e_private ->im_private_e_private.Grumpy : e_private ->im_private_e_private : typeof e_private ->Grumpy : e_private - -var privateUse_im_private_f_private = im_private_f_private(); ->privateUse_im_private_f_private : c_private ->im_private_f_private() : c_private ->im_private_f_private : () => c_private - -export var publicUse_im_private_f_private = im_private_f_private(); ->publicUse_im_private_f_private : c_private ->im_private_f_private() : c_private ->im_private_f_private : () => c_private - -var privateUse_im_private_v_private = im_private_v_private; ->privateUse_im_private_v_private : c_private ->im_private_v_private : c_private - -export var publicUse_im_private_v_private = im_private_v_private; ->publicUse_im_private_v_private : c_private ->im_private_v_private : c_private - -var privateUse_im_private_i_private: im_private_i_private; ->privateUse_im_private_i_private : i_private ->im_private_i_private : im_private_i_private - -export var publicUse_im_private_i_private: im_private_i_private; ->publicUse_im_private_i_private : i_private ->im_private_i_private : im_private_i_private - -var privateUse_im_private_mi_private = new im_private_mi_private.c(); ->privateUse_im_private_mi_private : c ->new im_private_mi_private.c() : c ->im_private_mi_private.c : typeof c ->im_private_mi_private : typeof mi_private ->c : typeof c - -export var publicUse_im_private_mi_private = new im_private_mi_private.c(); ->publicUse_im_private_mi_private : c ->new im_private_mi_private.c() : c ->im_private_mi_private.c : typeof c ->im_private_mi_private : typeof mi_private ->c : typeof c - -var privateUse_im_private_mu_private: im_private_mu_private.i; ->privateUse_im_private_mu_private : i ->im_private_mu_private : im_private_mu_private ->i : i - -export var publicUse_im_private_mu_private: im_private_mu_private.i; ->publicUse_im_private_mu_private : i ->im_private_mu_private : im_private_mu_private ->i : i - - -// No Privacy errors - importing public elements -import im_private_c_public = m_public.c_public; ->im_private_c_public : typeof c_public ->m_public : c_public ->c_public : c_public - -import im_private_e_public = m_public.e_public; ->im_private_e_public : typeof e_public ->m_public : e_public ->e_public : e_public - -import im_private_f_public = m_public.f_public; ->im_private_f_public : () => c_public ->m_public : () => c_public ->f_public : () => c_public - -import im_private_v_public = m_public.v_public; ->im_private_v_public : number ->m_public : number ->v_public : number - -import im_private_i_public = m_public.i_public; ->im_private_i_public : im_private_i_public ->m_public : i_public ->i_public : i_public - -import im_private_mi_public = m_public.mi_public; ->im_private_mi_public : typeof mi_public ->m_public : typeof mi_public ->mi_public : typeof mi_public - -import im_private_mu_public = m_public.mu_public; ->im_private_mu_public : im_private_mu_public ->m_public : m_public ->mu_public : mu_public - -// Usage of above decls -var privateUse_im_private_c_public = new im_private_c_public(); ->privateUse_im_private_c_public : c_public ->new im_private_c_public() : c_public ->im_private_c_public : typeof c_public - -export var publicUse_im_private_c_public = new im_private_c_public(); ->publicUse_im_private_c_public : c_public ->new im_private_c_public() : c_public ->im_private_c_public : typeof c_public - -var privateUse_im_private_e_public = im_private_e_public.Happy; ->privateUse_im_private_e_public : e_public ->im_private_e_public.Happy : e_public ->im_private_e_public : typeof e_public ->Happy : e_public - -export var publicUse_im_private_e_public = im_private_e_public.Grumpy; ->publicUse_im_private_e_public : e_public ->im_private_e_public.Grumpy : e_public ->im_private_e_public : typeof e_public ->Grumpy : e_public - -var privateUse_im_private_f_public = im_private_f_public(); ->privateUse_im_private_f_public : c_public ->im_private_f_public() : c_public ->im_private_f_public : () => c_public - -export var publicUse_im_private_f_public = im_private_f_public(); ->publicUse_im_private_f_public : c_public ->im_private_f_public() : c_public ->im_private_f_public : () => c_public - -var privateUse_im_private_v_public = im_private_v_public; ->privateUse_im_private_v_public : number ->im_private_v_public : number - -export var publicUse_im_private_v_public = im_private_v_public; ->publicUse_im_private_v_public : number ->im_private_v_public : number - -var privateUse_im_private_i_public: im_private_i_public; ->privateUse_im_private_i_public : i_public ->im_private_i_public : im_private_i_public - -export var publicUse_im_private_i_public: im_private_i_public; ->publicUse_im_private_i_public : i_public ->im_private_i_public : im_private_i_public - -var privateUse_im_private_mi_public = new im_private_mi_public.c(); ->privateUse_im_private_mi_public : c ->new im_private_mi_public.c() : c ->im_private_mi_public.c : typeof c ->im_private_mi_public : typeof mi_public ->c : typeof c - -export var publicUse_im_private_mi_public = new im_private_mi_public.c(); ->publicUse_im_private_mi_public : c ->new im_private_mi_public.c() : c ->im_private_mi_public.c : typeof c ->im_private_mi_public : typeof mi_public ->c : typeof c - -var privateUse_im_private_mu_public: im_private_mu_public.i; ->privateUse_im_private_mu_public : i ->im_private_mu_public : im_private_mu_public ->i : i - -export var publicUse_im_private_mu_public: im_private_mu_public.i; ->publicUse_im_private_mu_public : i ->im_private_mu_public : im_private_mu_public ->i : i -