diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 44b623a8af9..71c53f4488c 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1122,7 +1122,8 @@ module ts { switch (parsingContext) { case ParsingContext.SourceElements: - case ParsingContext.ModuleElements: + case ParsingContext.BlockStatements: + case ParsingContext.SwitchClauseStatements: // If we're in error recovery, then we don't want to treat ';' as an empty statement. // The problem is that ';' can show up in far too many contexts, and if we see one // and assume it's a statement, then we may bail out inappropriately from whatever @@ -1130,10 +1131,6 @@ module ts { // we really don't want to assume the class is over and we're on a statement in the // outer module. We just want to consume and move on. return !(token === SyntaxKind.SemicolonToken && inErrorRecovery) && isStartOfStatement(); - case ParsingContext.BlockStatements: - case ParsingContext.SwitchClauseStatements: - // During error recovery we don't treat empty statements as statements - return !(token === SyntaxKind.SemicolonToken && inErrorRecovery) && isStartOfStatement(); case ParsingContext.SwitchClauses: return token === SyntaxKind.CaseKeyword || token === SyntaxKind.DefaultKeyword; case ParsingContext.TypeMembers: @@ -1243,7 +1240,6 @@ module ts { } switch (kind) { - case ParsingContext.ModuleElements: case ParsingContext.BlockStatements: case ParsingContext.SwitchClauses: case ParsingContext.TypeMembers: @@ -1454,15 +1450,13 @@ module ts { function canReuseNode(node: Node, parsingContext: ParsingContext): boolean { switch (parsingContext) { - case ParsingContext.ModuleElements: - return isReusableModuleElement(node); - case ParsingContext.ClassMembers: return isReusableClassMember(node); case ParsingContext.SwitchClauses: return isReusableSwitchClause(node); + case ParsingContext.SourceElements: case ParsingContext.BlockStatements: case ParsingContext.SwitchClauseStatements: return isReusableStatement(node); @@ -1525,26 +1519,6 @@ module ts { return false; } - function isReusableModuleElement(node: Node) { - if (node) { - switch (node.kind) { - case SyntaxKind.ImportDeclaration: - case SyntaxKind.ImportEqualsDeclaration: - case SyntaxKind.ExportDeclaration: - case SyntaxKind.ExportAssignment: - case SyntaxKind.ClassDeclaration: - case SyntaxKind.InterfaceDeclaration: - case SyntaxKind.ModuleDeclaration: - case SyntaxKind.EnumDeclaration: - return true; - } - - return isReusableStatement(node); - } - - return false; - } - function isReusableClassMember(node: Node) { if (node) { switch (node.kind) { @@ -1597,6 +1571,15 @@ module ts { case SyntaxKind.LabeledStatement: case SyntaxKind.DoStatement: case SyntaxKind.DebuggerStatement: + case SyntaxKind.ImportDeclaration: + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ExportDeclaration: + case SyntaxKind.ExportAssignment: + case SyntaxKind.ModuleDeclaration: + case SyntaxKind.ClassDeclaration: + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.EnumDeclaration: + case SyntaxKind.TypeAliasDeclaration: return true; } } @@ -1670,8 +1653,7 @@ module ts { function parsingContextErrors(context: ParsingContext): DiagnosticMessage { switch (context) { case ParsingContext.SourceElements: return Diagnostics.Declaration_or_statement_expected; - case ParsingContext.ModuleElements: return Diagnostics.Declaration_or_statement_expected; - case ParsingContext.BlockStatements: return Diagnostics.Statement_expected; + case ParsingContext.BlockStatements: return Diagnostics.Declaration_or_statement_expected; case ParsingContext.SwitchClauses: return Diagnostics.case_or_default_expected; case ParsingContext.SwitchClauseStatements: return Diagnostics.Statement_expected; case ParsingContext.TypeMembers: return Diagnostics.Property_or_signature_expected; @@ -4600,7 +4582,7 @@ module ts { function parseModuleBlock(): ModuleBlock { let node = createNode(SyntaxKind.ModuleBlock, scanner.getStartPos()); if (parseExpected(SyntaxKind.OpenBraceToken)) { - node.statements = parseList(ParsingContext.ModuleElements, /*checkForStrictMode*/ false, parseStatement); + node.statements = parseList(ParsingContext.BlockStatements, /*checkForStrictMode*/ false, parseStatement); parseExpected(SyntaxKind.CloseBraceToken); } else { @@ -4928,7 +4910,6 @@ module ts { const enum ParsingContext { SourceElements, // Elements in source file - ModuleElements, // Elements in module declaration BlockStatements, // Statements in block SwitchClauses, // Clauses in switch statement SwitchClauseStatements, // Statements in switch clause diff --git a/tests/baselines/reference/class2.errors.txt b/tests/baselines/reference/class2.errors.txt index dde3612b68f..62542b41e40 100644 --- a/tests/baselines/reference/class2.errors.txt +++ b/tests/baselines/reference/class2.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/class2.ts(1,29): error TS1129: Statement expected. +tests/cases/compiler/class2.ts(1,29): error TS1128: Declaration or statement expected. tests/cases/compiler/class2.ts(1,45): error TS1128: Declaration or statement expected. ==== tests/cases/compiler/class2.ts (2 errors) ==== class foo { constructor() { static f = 3; } } ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~ !!! error TS1128: Declaration or statement expected. \ No newline at end of file diff --git a/tests/baselines/reference/classUpdateTests.errors.txt b/tests/baselines/reference/classUpdateTests.errors.txt index e7f34fec546..536c69023ad 100644 --- a/tests/baselines/reference/classUpdateTests.errors.txt +++ b/tests/baselines/reference/classUpdateTests.errors.txt @@ -8,14 +8,14 @@ tests/cases/compiler/classUpdateTests.ts(63,7): error TS2415: Class 'L' incorrec tests/cases/compiler/classUpdateTests.ts(69,7): error TS2415: Class 'M' incorrectly extends base class 'G'. Property 'p1' is private in type 'M' but not in type 'G'. tests/cases/compiler/classUpdateTests.ts(70,2): error TS2376: A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties. -tests/cases/compiler/classUpdateTests.ts(93,3): error TS1129: Statement expected. +tests/cases/compiler/classUpdateTests.ts(93,3): error TS1128: Declaration or statement expected. tests/cases/compiler/classUpdateTests.ts(95,1): error TS1128: Declaration or statement expected. -tests/cases/compiler/classUpdateTests.ts(99,3): error TS1129: Statement expected. +tests/cases/compiler/classUpdateTests.ts(99,3): error TS1128: Declaration or statement expected. tests/cases/compiler/classUpdateTests.ts(101,1): error TS1128: Declaration or statement expected. -tests/cases/compiler/classUpdateTests.ts(105,3): error TS1129: Statement expected. +tests/cases/compiler/classUpdateTests.ts(105,3): error TS1128: Declaration or statement expected. tests/cases/compiler/classUpdateTests.ts(105,14): error TS1005: ';' expected. tests/cases/compiler/classUpdateTests.ts(107,1): error TS1128: Declaration or statement expected. -tests/cases/compiler/classUpdateTests.ts(111,3): error TS1129: Statement expected. +tests/cases/compiler/classUpdateTests.ts(111,3): error TS1128: Declaration or statement expected. tests/cases/compiler/classUpdateTests.ts(111,15): error TS1005: ';' expected. tests/cases/compiler/classUpdateTests.ts(113,1): error TS1128: Declaration or statement expected. @@ -139,7 +139,7 @@ tests/cases/compiler/classUpdateTests.ts(113,1): error TS1128: Declaration or st constructor() { public p1 = 0; // ERROR ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. } } ~ @@ -149,7 +149,7 @@ tests/cases/compiler/classUpdateTests.ts(113,1): error TS1128: Declaration or st constructor() { private p1 = 0; // ERROR ~~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. } } ~ @@ -159,7 +159,7 @@ tests/cases/compiler/classUpdateTests.ts(113,1): error TS1128: Declaration or st constructor() { public this.p1 = 0; // ERROR ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~ !!! error TS1005: ';' expected. } @@ -171,7 +171,7 @@ tests/cases/compiler/classUpdateTests.ts(113,1): error TS1128: Declaration or st constructor() { private this.p1 = 0; // ERROR ~~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~ !!! error TS1005: ';' expected. } diff --git a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.errors.txt b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.errors.txt index 2818793948f..12f397ff06c 100644 --- a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.errors.txt +++ b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(22,35): error TS tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(22,39): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(24,28): error TS1005: ':' expected. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(24,29): error TS1005: ',' expected. -tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(27,18): error TS1129: Statement expected. +tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(27,18): error TS1128: Declaration or statement expected. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(27,26): error TS2304: Cannot find name 'bfs'. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(28,30): error TS1005: '=' expected. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(31,18): error TS1109: Expression expected. @@ -129,7 +129,7 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(261,1): error TS case = bfs.STATEMENTS(4); ~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~~~ !!! error TS2304: Cannot find name 'bfs'. if (retValue != 0) { diff --git a/tests/baselines/reference/overloadingStaticFunctionsInFunctions.errors.txt b/tests/baselines/reference/overloadingStaticFunctionsInFunctions.errors.txt index e340e5596cd..ae16b59b095 100644 --- a/tests/baselines/reference/overloadingStaticFunctionsInFunctions.errors.txt +++ b/tests/baselines/reference/overloadingStaticFunctionsInFunctions.errors.txt @@ -1,12 +1,12 @@ tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(1,14): error TS1005: '(' expected. -tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(2,3): error TS1129: Statement expected. +tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(2,3): error TS1128: Declaration or statement expected. tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(2,10): error TS2304: Cannot find name 'test'. -tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(3,3): error TS1129: Statement expected. +tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(3,3): error TS1128: Declaration or statement expected. tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(3,10): error TS2304: Cannot find name 'test'. tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(3,15): error TS2304: Cannot find name 'name'. tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(3,19): error TS1005: ',' expected. tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(3,20): error TS2304: Cannot find name 'string'. -tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(4,3): error TS1129: Statement expected. +tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(4,3): error TS1128: Declaration or statement expected. tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(4,10): error TS2304: Cannot find name 'test'. tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(4,15): error TS2304: Cannot find name 'name'. tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(4,20): error TS1109: Expression expected. @@ -20,12 +20,12 @@ tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(4,25): error TS100 !!! error TS1005: '(' expected. static test() ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~~~~ !!! error TS2304: Cannot find name 'test'. static test(name:string) ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~~~~ !!! error TS2304: Cannot find name 'test'. ~~~~ @@ -36,7 +36,7 @@ tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts(4,25): error TS100 !!! error TS2304: Cannot find name 'string'. static test(name?:any){ } ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~~~~ !!! error TS2304: Cannot find name 'test'. ~~~~ diff --git a/tests/baselines/reference/parserErrorRecoveryIfStatement6.errors.txt b/tests/baselines/reference/parserErrorRecoveryIfStatement6.errors.txt index d757a14411d..0639136e139 100644 --- a/tests/baselines/reference/parserErrorRecoveryIfStatement6.errors.txt +++ b/tests/baselines/reference/parserErrorRecoveryIfStatement6.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement6.ts(3,9): error TS2304: Cannot find name 'a'. -tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement6.ts(5,3): error TS1129: Statement expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement6.ts(5,3): error TS1128: Declaration or statement expected. ==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement6.ts (2 errors) ==== @@ -11,7 +11,7 @@ tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErro } public f2() { ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. } f3() { } diff --git a/tests/baselines/reference/parserErrorRecovery_Block3.errors.txt b/tests/baselines/reference/parserErrorRecovery_Block3.errors.txt index 59b76d51e84..9d391e39007 100644 --- a/tests/baselines/reference/parserErrorRecovery_Block3.errors.txt +++ b/tests/baselines/reference/parserErrorRecovery_Block3.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/parser/ecmascript5/ErrorRecovery/Blocks/parserErrorRecovery_Block3.ts(2,18): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value or consist of a single 'throw' statement. -tests/cases/conformance/parser/ecmascript5/ErrorRecovery/Blocks/parserErrorRecovery_Block3.ts(4,5): error TS1129: Statement expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/Blocks/parserErrorRecovery_Block3.ts(4,5): error TS1128: Declaration or statement expected. tests/cases/conformance/parser/ecmascript5/ErrorRecovery/Blocks/parserErrorRecovery_Block3.ts(4,18): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value or consist of a single 'throw' statement. @@ -11,7 +11,7 @@ tests/cases/conformance/parser/ecmascript5/ErrorRecovery/Blocks/parserErrorRecov private b(): boolean { ~~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~~~~~~~ !!! error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value or consist of a single 'throw' statement. } diff --git a/tests/baselines/reference/propertyWrappedInTry.errors.txt b/tests/baselines/reference/propertyWrappedInTry.errors.txt index b4b00707bf2..b4538226cb8 100644 --- a/tests/baselines/reference/propertyWrappedInTry.errors.txt +++ b/tests/baselines/reference/propertyWrappedInTry.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/propertyWrappedInTry.ts(3,5): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. -tests/cases/compiler/propertyWrappedInTry.ts(5,9): error TS1129: Statement expected. +tests/cases/compiler/propertyWrappedInTry.ts(5,9): error TS1128: Declaration or statement expected. tests/cases/compiler/propertyWrappedInTry.ts(5,16): error TS2304: Cannot find name 'bar'. tests/cases/compiler/propertyWrappedInTry.ts(5,22): error TS2304: Cannot find name 'someInitThatMightFail'. tests/cases/compiler/propertyWrappedInTry.ts(11,5): error TS1128: Declaration or statement expected. @@ -17,7 +17,7 @@ tests/cases/compiler/propertyWrappedInTry.ts(17,1): error TS1128: Declaration or public bar = someInitThatMightFail(); ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~~~ !!! error TS2304: Cannot find name 'bar'. ~~~~~~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/staticClassProps.errors.txt b/tests/baselines/reference/staticClassProps.errors.txt index e3de54ed692..ebc88d764dd 100644 --- a/tests/baselines/reference/staticClassProps.errors.txt +++ b/tests/baselines/reference/staticClassProps.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/staticClassProps.ts(4,9): error TS1129: Statement expected. +tests/cases/compiler/staticClassProps.ts(4,9): error TS1128: Declaration or statement expected. tests/cases/compiler/staticClassProps.ts(6,1): error TS1128: Declaration or statement expected. @@ -8,7 +8,7 @@ tests/cases/compiler/staticClassProps.ts(6,1): error TS1128: Declaration or stat public foo() { static z = 1; ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. } } ~ diff --git a/tests/baselines/reference/staticsInAFunction.errors.txt b/tests/baselines/reference/staticsInAFunction.errors.txt index af6a107782d..48104fd52f4 100644 --- a/tests/baselines/reference/staticsInAFunction.errors.txt +++ b/tests/baselines/reference/staticsInAFunction.errors.txt @@ -1,12 +1,12 @@ tests/cases/compiler/staticsInAFunction.ts(1,13): error TS1005: '(' expected. -tests/cases/compiler/staticsInAFunction.ts(2,4): error TS1129: Statement expected. +tests/cases/compiler/staticsInAFunction.ts(2,4): error TS1128: Declaration or statement expected. tests/cases/compiler/staticsInAFunction.ts(2,11): error TS2304: Cannot find name 'test'. -tests/cases/compiler/staticsInAFunction.ts(3,4): error TS1129: Statement expected. +tests/cases/compiler/staticsInAFunction.ts(3,4): error TS1128: Declaration or statement expected. tests/cases/compiler/staticsInAFunction.ts(3,11): error TS2304: Cannot find name 'test'. tests/cases/compiler/staticsInAFunction.ts(3,16): error TS2304: Cannot find name 'name'. tests/cases/compiler/staticsInAFunction.ts(3,20): error TS1005: ',' expected. tests/cases/compiler/staticsInAFunction.ts(3,21): error TS2304: Cannot find name 'string'. -tests/cases/compiler/staticsInAFunction.ts(4,4): error TS1129: Statement expected. +tests/cases/compiler/staticsInAFunction.ts(4,4): error TS1128: Declaration or statement expected. tests/cases/compiler/staticsInAFunction.ts(4,11): error TS2304: Cannot find name 'test'. tests/cases/compiler/staticsInAFunction.ts(4,16): error TS2304: Cannot find name 'name'. tests/cases/compiler/staticsInAFunction.ts(4,21): error TS1109: Expression expected. @@ -20,12 +20,12 @@ tests/cases/compiler/staticsInAFunction.ts(4,26): error TS1005: ';' expected. !!! error TS1005: '(' expected. static test() ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~~~~ !!! error TS2304: Cannot find name 'test'. static test(name:string) ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~~~~ !!! error TS2304: Cannot find name 'test'. ~~~~ @@ -36,7 +36,7 @@ tests/cases/compiler/staticsInAFunction.ts(4,26): error TS1005: ';' expected. !!! error TS2304: Cannot find name 'string'. static test(name?:any){} ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. ~~~~ !!! error TS2304: Cannot find name 'test'. ~~~~ diff --git a/tests/baselines/reference/staticsInConstructorBodies.errors.txt b/tests/baselines/reference/staticsInConstructorBodies.errors.txt index 5bb08460986..b60e13d9300 100644 --- a/tests/baselines/reference/staticsInConstructorBodies.errors.txt +++ b/tests/baselines/reference/staticsInConstructorBodies.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/staticsInConstructorBodies.ts(3,3): error TS1129: Statement expected. +tests/cases/compiler/staticsInConstructorBodies.ts(3,3): error TS1128: Declaration or statement expected. tests/cases/compiler/staticsInConstructorBodies.ts(6,1): error TS1128: Declaration or statement expected. @@ -7,7 +7,7 @@ tests/cases/compiler/staticsInConstructorBodies.ts(6,1): error TS1128: Declarati constructor() { static p1 = 0; // ERROR ~~~~~~ -!!! error TS1129: Statement expected. +!!! error TS1128: Declaration or statement expected. static m1() {} // ERROR } } diff --git a/tests/cases/unittests/incrementalParser.ts b/tests/cases/unittests/incrementalParser.ts index 422675e9e0a..93d99615c93 100644 --- a/tests/cases/unittests/incrementalParser.ts +++ b/tests/cases/unittests/incrementalParser.ts @@ -262,7 +262,7 @@ module ts { var oldText = ScriptSnapshot.fromString(source); var newTextAndChange = withInsert(oldText, 0, "'strict';\r\n"); - compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 0); + compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 9); }); it('Strict mode 2',() => { @@ -289,7 +289,7 @@ module ts { var oldText = ScriptSnapshot.fromString(source); var newTextAndChange = withDelete(oldText, 0, index); - compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 0); + compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 9); }); it('Strict mode 4',() => { @@ -332,7 +332,7 @@ module ts { var oldText = ScriptSnapshot.fromString(source); var newTextAndChange = withDelete(oldText, 0, index); - compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 0); + compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 24); }); it('Parenthesized expression to arrow function 1',() => { @@ -545,7 +545,7 @@ module ts { var index = source.lastIndexOf(";"); var newTextAndChange = withDelete(oldText, index, 1); - compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 4); + compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 11); }); it('Edit after empty type parameter list',() => { @@ -579,7 +579,7 @@ var o2 = { set Foo(val:number) { } };"; var index = source.indexOf("set"); var newTextAndChange = withInsert(oldText, index, "public "); - compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 6); + compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 14); }); it('Insert parameter ahead of parameter',() => { @@ -700,7 +700,7 @@ module m3 { }\ var oldText = ScriptSnapshot.fromString(source); var newTextAndChange = withDelete(oldText, 0, "{".length); - compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 0); + compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 9); }); it('Moving methods from class to object literal',() => {