From 6c32a8bdb0b042422ceba45361eeb9e01672a2b1 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Tue, 17 Mar 2015 13:57:58 -0700 Subject: [PATCH] Updated baselines --- src/compiler/emitter.ts | 9 ++++-- .../baselines/reference/APISample_compile.js | 3 ++ .../reference/APISample_compile.types | 15 +++++++++ tests/baselines/reference/APISample_linter.js | 3 ++ .../reference/APISample_linter.types | 15 +++++++++ .../reference/APISample_transform.js | 3 ++ .../reference/APISample_transform.types | 15 +++++++++ .../baselines/reference/APISample_watcher.js | 3 ++ .../reference/APISample_watcher.types | 15 +++++++++ .../reference/computedPropertyNames23_ES5.js | 2 +- .../reference/computedPropertyNames26_ES5.js | 2 +- .../reference/noDefaultLib.errors.txt | 12 +++++++ .../reference/parser509698.errors.txt | 24 ++++++++++---- ...rserErrorRecovery_ClassElement3.errors.txt | 6 ++-- .../noDefaultLib/amd/noDefaultLib.errors.txt | 28 +++++++++++----- .../noDefaultLib/node/noDefaultLib.errors.txt | 28 +++++++++++----- .../typeCheckTypeArgument.errors.txt | 32 +++++++++++++------ 17 files changed, 175 insertions(+), 40 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index e6354a9612..4bb029091d 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -4952,7 +4952,7 @@ module ts { if (nodeOrChildIsDecorated(node)) { if ((node.flags & NodeFlags.Default) === 0) { - write("let "); + write("var "); emitDeclarationName(node); write(" = "); } @@ -5022,6 +5022,11 @@ module ts { if (nodeOrChildIsDecorated(node)) { writeLine(); emitDecoratorsOfClass(node); + + write("return "); + emitDeclarationName(node); + write(";"); + emitTempDeclarations(/*newLine*/ true); writeLine(); tempCount = saveTempCount; @@ -5030,8 +5035,6 @@ module ts { generatedComputedPropertyNames = saveGeneratedComputedPropertyNames; generatedSetterNames = saveGeneratedSetterNames; - write("return "); - emitDeclarationName(node); decreaseIndent(); writeLine(); write("})();"); diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index 12a0a7c077..3aa1b0aa14 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -965,6 +965,7 @@ declare module "typescript" { getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; isUnknownIdentifier(location: Node, name: string): boolean; getBlockScopedVariableId(node: Identifier): number; + getClassDeclarationVariableId(node: Identifier): number; } const enum SymbolFlags { FunctionScopedVariable = 1, @@ -1070,6 +1071,7 @@ declare module "typescript" { ContextChecked = 64, EnumValuesComputed = 128, BlockScopedBindingInLoop = 256, + EmitDecorate = 512, } interface NodeLinks { resolvedType?: Type; @@ -1458,6 +1460,7 @@ declare module "typescript" { character: number; }; function getLineAndCharacterOfPosition(sourceFile: SourceFile, position: number): LineAndCharacter; + function lineBreakBetween(sourceFile: SourceFile, firstPos: number, secondPos: number): boolean; function isWhiteSpace(ch: number): boolean; function isLineBreak(ch: number): boolean; function isOctalDigit(ch: number): boolean; diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index 0b00bbc191..59b08a4781 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -3141,6 +3141,11 @@ declare module "typescript" { getBlockScopedVariableId(node: Identifier): number; >getBlockScopedVariableId : (node: Identifier) => number >node : Identifier +>Identifier : Identifier + + getClassDeclarationVariableId(node: Identifier): number; +>getClassDeclarationVariableId : (node: Identifier) => number +>node : Identifier >Identifier : Identifier } const enum SymbolFlags { @@ -3455,6 +3460,9 @@ declare module "typescript" { BlockScopedBindingInLoop = 256, >BlockScopedBindingInLoop : NodeCheckFlags + + EmitDecorate = 512, +>EmitDecorate : NodeCheckFlags } interface NodeLinks { >NodeLinks : NodeLinks @@ -4626,6 +4634,13 @@ declare module "typescript" { >position : number >LineAndCharacter : LineAndCharacter + function lineBreakBetween(sourceFile: SourceFile, firstPos: number, secondPos: number): boolean; +>lineBreakBetween : (sourceFile: SourceFile, firstPos: number, secondPos: number) => boolean +>sourceFile : SourceFile +>SourceFile : SourceFile +>firstPos : number +>secondPos : number + function isWhiteSpace(ch: number): boolean; >isWhiteSpace : (ch: number) => boolean >ch : number diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index c819c06056..3a757204be 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -996,6 +996,7 @@ declare module "typescript" { getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; isUnknownIdentifier(location: Node, name: string): boolean; getBlockScopedVariableId(node: Identifier): number; + getClassDeclarationVariableId(node: Identifier): number; } const enum SymbolFlags { FunctionScopedVariable = 1, @@ -1101,6 +1102,7 @@ declare module "typescript" { ContextChecked = 64, EnumValuesComputed = 128, BlockScopedBindingInLoop = 256, + EmitDecorate = 512, } interface NodeLinks { resolvedType?: Type; @@ -1489,6 +1491,7 @@ declare module "typescript" { character: number; }; function getLineAndCharacterOfPosition(sourceFile: SourceFile, position: number): LineAndCharacter; + function lineBreakBetween(sourceFile: SourceFile, firstPos: number, secondPos: number): boolean; function isWhiteSpace(ch: number): boolean; function isLineBreak(ch: number): boolean; function isOctalDigit(ch: number): boolean; diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index c19778ea49..c4e2f1ba40 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -3287,6 +3287,11 @@ declare module "typescript" { getBlockScopedVariableId(node: Identifier): number; >getBlockScopedVariableId : (node: Identifier) => number >node : Identifier +>Identifier : Identifier + + getClassDeclarationVariableId(node: Identifier): number; +>getClassDeclarationVariableId : (node: Identifier) => number +>node : Identifier >Identifier : Identifier } const enum SymbolFlags { @@ -3601,6 +3606,9 @@ declare module "typescript" { BlockScopedBindingInLoop = 256, >BlockScopedBindingInLoop : NodeCheckFlags + + EmitDecorate = 512, +>EmitDecorate : NodeCheckFlags } interface NodeLinks { >NodeLinks : NodeLinks @@ -4772,6 +4780,13 @@ declare module "typescript" { >position : number >LineAndCharacter : LineAndCharacter + function lineBreakBetween(sourceFile: SourceFile, firstPos: number, secondPos: number): boolean; +>lineBreakBetween : (sourceFile: SourceFile, firstPos: number, secondPos: number) => boolean +>sourceFile : SourceFile +>SourceFile : SourceFile +>firstPos : number +>secondPos : number + function isWhiteSpace(ch: number): boolean; >isWhiteSpace : (ch: number) => boolean >ch : number diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index 11fb8bdef9..54acd038e4 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -997,6 +997,7 @@ declare module "typescript" { getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; isUnknownIdentifier(location: Node, name: string): boolean; getBlockScopedVariableId(node: Identifier): number; + getClassDeclarationVariableId(node: Identifier): number; } const enum SymbolFlags { FunctionScopedVariable = 1, @@ -1102,6 +1103,7 @@ declare module "typescript" { ContextChecked = 64, EnumValuesComputed = 128, BlockScopedBindingInLoop = 256, + EmitDecorate = 512, } interface NodeLinks { resolvedType?: Type; @@ -1490,6 +1492,7 @@ declare module "typescript" { character: number; }; function getLineAndCharacterOfPosition(sourceFile: SourceFile, position: number): LineAndCharacter; + function lineBreakBetween(sourceFile: SourceFile, firstPos: number, secondPos: number): boolean; function isWhiteSpace(ch: number): boolean; function isLineBreak(ch: number): boolean; function isOctalDigit(ch: number): boolean; diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index 4e56770573..9d3c6e46cc 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -3237,6 +3237,11 @@ declare module "typescript" { getBlockScopedVariableId(node: Identifier): number; >getBlockScopedVariableId : (node: Identifier) => number >node : Identifier +>Identifier : Identifier + + getClassDeclarationVariableId(node: Identifier): number; +>getClassDeclarationVariableId : (node: Identifier) => number +>node : Identifier >Identifier : Identifier } const enum SymbolFlags { @@ -3551,6 +3556,9 @@ declare module "typescript" { BlockScopedBindingInLoop = 256, >BlockScopedBindingInLoop : NodeCheckFlags + + EmitDecorate = 512, +>EmitDecorate : NodeCheckFlags } interface NodeLinks { >NodeLinks : NodeLinks @@ -4722,6 +4730,13 @@ declare module "typescript" { >position : number >LineAndCharacter : LineAndCharacter + function lineBreakBetween(sourceFile: SourceFile, firstPos: number, secondPos: number): boolean; +>lineBreakBetween : (sourceFile: SourceFile, firstPos: number, secondPos: number) => boolean +>sourceFile : SourceFile +>SourceFile : SourceFile +>firstPos : number +>secondPos : number + function isWhiteSpace(ch: number): boolean; >isWhiteSpace : (ch: number) => boolean >ch : number diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index b9a40c6a19..13fd5a2545 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -1034,6 +1034,7 @@ declare module "typescript" { getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; isUnknownIdentifier(location: Node, name: string): boolean; getBlockScopedVariableId(node: Identifier): number; + getClassDeclarationVariableId(node: Identifier): number; } const enum SymbolFlags { FunctionScopedVariable = 1, @@ -1139,6 +1140,7 @@ declare module "typescript" { ContextChecked = 64, EnumValuesComputed = 128, BlockScopedBindingInLoop = 256, + EmitDecorate = 512, } interface NodeLinks { resolvedType?: Type; @@ -1527,6 +1529,7 @@ declare module "typescript" { character: number; }; function getLineAndCharacterOfPosition(sourceFile: SourceFile, position: number): LineAndCharacter; + function lineBreakBetween(sourceFile: SourceFile, firstPos: number, secondPos: number): boolean; function isWhiteSpace(ch: number): boolean; function isLineBreak(ch: number): boolean; function isOctalDigit(ch: number): boolean; diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index 5b52c1522a..514a9afe46 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -3410,6 +3410,11 @@ declare module "typescript" { getBlockScopedVariableId(node: Identifier): number; >getBlockScopedVariableId : (node: Identifier) => number >node : Identifier +>Identifier : Identifier + + getClassDeclarationVariableId(node: Identifier): number; +>getClassDeclarationVariableId : (node: Identifier) => number +>node : Identifier >Identifier : Identifier } const enum SymbolFlags { @@ -3724,6 +3729,9 @@ declare module "typescript" { BlockScopedBindingInLoop = 256, >BlockScopedBindingInLoop : NodeCheckFlags + + EmitDecorate = 512, +>EmitDecorate : NodeCheckFlags } interface NodeLinks { >NodeLinks : NodeLinks @@ -4895,6 +4903,13 @@ declare module "typescript" { >position : number >LineAndCharacter : LineAndCharacter + function lineBreakBetween(sourceFile: SourceFile, firstPos: number, secondPos: number): boolean; +>lineBreakBetween : (sourceFile: SourceFile, firstPos: number, secondPos: number) => boolean +>sourceFile : SourceFile +>SourceFile : SourceFile +>firstPos : number +>secondPos : number + function isWhiteSpace(ch: number): boolean; >isWhiteSpace : (ch: number) => boolean >ch : number diff --git a/tests/baselines/reference/computedPropertyNames23_ES5.js b/tests/baselines/reference/computedPropertyNames23_ES5.js index c3024a7fbb..a9c40ca973 100644 --- a/tests/baselines/reference/computedPropertyNames23_ES5.js +++ b/tests/baselines/reference/computedPropertyNames23_ES5.js @@ -19,6 +19,6 @@ var C = (function () { _a[this.bar()] = 1, _a)[0]] = function () { }; + var _a; return C; })(); -var _a; diff --git a/tests/baselines/reference/computedPropertyNames26_ES5.js b/tests/baselines/reference/computedPropertyNames26_ES5.js index 5651ee266c..5628215f3d 100644 --- a/tests/baselines/reference/computedPropertyNames26_ES5.js +++ b/tests/baselines/reference/computedPropertyNames26_ES5.js @@ -34,6 +34,6 @@ var C = (function (_super) { _a[_super.bar.call(this)] = 1, _a)[0]] = function () { }; + var _a; return C; })(Base); -var _a; diff --git a/tests/baselines/reference/noDefaultLib.errors.txt b/tests/baselines/reference/noDefaultLib.errors.txt index b8f42ba7c3..d7e58eb31f 100644 --- a/tests/baselines/reference/noDefaultLib.errors.txt +++ b/tests/baselines/reference/noDefaultLib.errors.txt @@ -1,9 +1,21 @@ +error TS2318: Cannot find global type 'TypedPropertyDescriptor'. +error TS2318: Cannot find global type 'PropertyDecorator'. +error TS2318: Cannot find global type 'PropertyAnnotation'. +error TS2318: Cannot find global type 'ParameterAnnotation'. error TS2318: Cannot find global type 'IArguments'. +error TS2318: Cannot find global type 'ClassDecorator'. +error TS2318: Cannot find global type 'ClassAnnotation'. error TS2318: Cannot find global type 'Boolean'. tests/cases/compiler/noDefaultLib.ts(4,11): error TS2317: Global type 'Array' must have 1 type parameter(s). +!!! error TS2318: Cannot find global type 'TypedPropertyDescriptor'. +!!! error TS2318: Cannot find global type 'PropertyDecorator'. +!!! error TS2318: Cannot find global type 'PropertyAnnotation'. +!!! error TS2318: Cannot find global type 'ParameterAnnotation'. !!! error TS2318: Cannot find global type 'IArguments'. +!!! error TS2318: Cannot find global type 'ClassDecorator'. +!!! error TS2318: Cannot find global type 'ClassAnnotation'. !!! error TS2318: Cannot find global type 'Boolean'. ==== tests/cases/compiler/noDefaultLib.ts (1 errors) ==== /// diff --git a/tests/baselines/reference/parser509698.errors.txt b/tests/baselines/reference/parser509698.errors.txt index 85485dd650..e3dd323ec1 100644 --- a/tests/baselines/reference/parser509698.errors.txt +++ b/tests/baselines/reference/parser509698.errors.txt @@ -1,21 +1,33 @@ +error TS2318: Cannot find global type 'Object'. +error TS2318: Cannot find global type 'TypedPropertyDescriptor'. +error TS2318: Cannot find global type 'ParameterAnnotation'. +error TS2318: Cannot find global type 'Array'. +error TS2318: Cannot find global type 'ClassAnnotation'. error TS2318: Cannot find global type 'String'. error TS2318: Cannot find global type 'RegExp'. -error TS2318: Cannot find global type 'Object'. +error TS2318: Cannot find global type 'PropertyDecorator'. +error TS2318: Cannot find global type 'PropertyAnnotation'. +error TS2318: Cannot find global type 'ClassDecorator'. +error TS2318: Cannot find global type 'Boolean'. error TS2318: Cannot find global type 'Number'. error TS2318: Cannot find global type 'IArguments'. error TS2318: Cannot find global type 'Function'. -error TS2318: Cannot find global type 'Boolean'. -error TS2318: Cannot find global type 'Array'. +!!! error TS2318: Cannot find global type 'Object'. +!!! error TS2318: Cannot find global type 'TypedPropertyDescriptor'. +!!! error TS2318: Cannot find global type 'ParameterAnnotation'. +!!! error TS2318: Cannot find global type 'Array'. +!!! error TS2318: Cannot find global type 'ClassAnnotation'. !!! error TS2318: Cannot find global type 'String'. !!! error TS2318: Cannot find global type 'RegExp'. -!!! error TS2318: Cannot find global type 'Object'. +!!! error TS2318: Cannot find global type 'PropertyDecorator'. +!!! error TS2318: Cannot find global type 'PropertyAnnotation'. +!!! error TS2318: Cannot find global type 'ClassDecorator'. +!!! error TS2318: Cannot find global type 'Boolean'. !!! error TS2318: Cannot find global type 'Number'. !!! error TS2318: Cannot find global type 'IArguments'. !!! error TS2318: Cannot find global type 'Function'. -!!! error TS2318: Cannot find global type 'Boolean'. -!!! error TS2318: Cannot find global type 'Array'. ==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509698.ts (0 errors) ==== ///