Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion internal/transformers/declarations/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func canHaveLiteralInitializer(host DeclarationEmitHost, node *ast.Node) bool {
switch node.Kind {
case ast.KindPropertyDeclaration,
ast.KindPropertySignature:
return host.GetEffectiveDeclarationFlags(node, ast.ModifierFlagsPrivate) != 0
return host.GetEffectiveDeclarationFlags(node, ast.ModifierFlagsPrivate) == 0
case ast.KindParameter,
ast.KindVariableDeclaration:
return true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ declare let v2: E.B;
declare class C {
p1: E;
p2: E.B;
readonly p3: E;
readonly p3 = E.B;
readonly p4: E.B;
}
declare enum MyEnum {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,4 @@
+ p4 = E.B;
}
// Repro from #52531
var MyEnum;
@@= skipped -45, +43 lines =@@
declare class C {
p1: E;
p2: E.B;
- readonly p3 = E.B;
+ readonly p3: E;
readonly p4: E.B;
}
declare enum MyEnum {
var MyEnum;
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ exports.Bar = Bar;
//// [declarationEmitConstantNoWidening.d.ts]
export declare const FOO = "FOO";
export declare class Bar {
readonly type: string;
readonly type = "FOO";
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,3 @@
+ type = exports.FOO; // Should be widening literal "FOO" - so either `typeof "FOO"` or = "FOO"
}
exports.Bar = Bar;

@@= skipped -10, +8 lines =@@
//// [declarationEmitConstantNoWidening.d.ts]
export declare const FOO = "FOO";
export declare class Bar {
- readonly type = "FOO";
+ readonly type: string;
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,6 @@ declare enum E {
B = "b"
}
declare class C {
readonly type: E;
readonly type = E.A;
}
declare let x: E.A;
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,3 @@
+ type = E.A;
}
let x = new C().type;

@@= skipped -13, +11 lines =@@
B = "b"
}
declare class C {
- readonly type = E.A;
+ readonly type: E;
}
declare let x: E.A;
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ class Foo {

//// [declarationEmitPrivateReadonlyLiterals.d.ts]
declare class Foo {
private static readonly A = "a";
private readonly B = "b";
private static readonly C = 42;
private readonly D = 42;
private static readonly A;
private readonly B;
private static readonly C;
private readonly D;
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,4 @@
-Foo.C = 42;


//// [declarationEmitPrivateReadonlyLiterals.d.ts]
declare class Foo {
- private static readonly A;
- private readonly B;
- private static readonly C;
- private readonly D;
+ private static readonly A = "a";
+ private readonly B = "b";
+ private static readonly C = 42;
+ private readonly D = 42;
}
//// [declarationEmitPrivateReadonlyLiterals.d.ts]
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ declare class C {
}
declare class Foo {
private bar;
readonly barProp: boolean;
readonly barProp = false;
constructor();
}
declare class Bar {
readonly prop: boolean;
readonly prop = false;
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,3 @@
+ prop = false;
}


@@= skipped -49, +45 lines =@@
}
declare class Foo {
private bar;
- readonly barProp = false;
+ readonly barProp: boolean;
constructor();
}
declare class Bar {
- readonly prop = false;
+ readonly prop: boolean;
}
Original file line number Diff line number Diff line change
Expand Up @@ -292,18 +292,18 @@ export declare class Exported {
templateLetOk2: string;
templateLetOk3: string;
templateLetOk4: string;
readonly numberConst: number;
readonly numberConst = 1;
readonly numberConstBad1: number;
readonly numberConstBad2: number;
readonly numberConstBad3: number;
readonly bigIntConst: bigint;
readonly numberConstBad3 = 1;
readonly bigIntConst = 1n;
readonly bigIntConstBad1: bigint;
readonly bigIntConstBad2: bigint;
readonly bigIntConstBad3: bigint;
readonly stringConst: string;
readonly bigIntConstBad3 = 1n;
readonly stringConst = "s";
readonly stringConstBad: string;
readonly templateConstOk1: string;
readonly templateConstNotOk2: string;
readonly templateConstOk1 = "s";
readonly templateConstNotOk2 = "s1 - S";
readonly templateConstNotOk3: string;
readonly templateConstNotOk4: string;
numberLetAsConst: 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,18 +61,18 @@
+ templateLetOk2: string;
+ templateLetOk3: string;
+ templateLetOk4: string;
+ readonly numberConst: number;
+ readonly numberConst = 1;
+ readonly numberConstBad1: number;
+ readonly numberConstBad2: number;
+ readonly numberConstBad3: number;
+ readonly bigIntConst: bigint;
+ readonly numberConstBad3 = 1;
+ readonly bigIntConst = 1n;
+ readonly bigIntConstBad1: bigint;
+ readonly bigIntConstBad2: bigint;
+ readonly bigIntConstBad3: bigint;
+ readonly stringConst: string;
+ readonly bigIntConstBad3 = 1n;
+ readonly stringConst = "s";
+ readonly stringConstBad: string;
+ readonly templateConstOk1: string;
+ readonly templateConstNotOk2: string;
+ readonly templateConstOk1 = "s";
+ readonly templateConstNotOk2 = "s1 - S";
+ readonly templateConstNotOk3: string;
+ readonly templateConstNotOk4: string;
+ numberLetAsConst: 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,13 @@ exports.Bar2 = Bar2;
export declare class Bar {
c?: readonly [1] | undefined;
c3?: 1 | undefined;
readonly r: number;
readonly r = 1;
f: number;
}
//// [file2.d.ts]
export declare function foo(p?: (ip: number | undefined, v: number) => void): void;
export declare function foo2(p?: (ip: number | undefined, v: number) => void): void;
export declare class Bar2 {
readonly r: number;
readonly r = 1;
f: number;
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@
-}
-export {};
+ c3?: 1 | undefined;
+ readonly r: number;
+ readonly r = 1;
+ f: number;
+}
+//// [file2.d.ts]
+export declare function foo(p?: (ip: number | undefined, v: number) => void): void;
+export declare function foo2(p?: (ip: number | undefined, v: number) => void): void;
+export declare class Bar2 {
+ readonly r: number;
+ readonly r = 1;
+ f: number;
+}