Jason Freeman
7459c87265
Merge branch 'release-1.4'
...
Conflicts:
bin/lib.core.es6.d.ts
bin/lib.es6.d.ts
bin/tsc.js
bin/typescript.d.ts
bin/typescriptServices.d.ts
bin/typescriptServices.js
bin/typescriptServices_internal.d.ts
bin/typescript_internal.d.ts
2015-01-05 15:08:17 -08:00
Cyrus Najmabadi
a1d04c3c65
Merge branch 'master' into mergeMarkers1
2014-12-28 18:58:47 -08:00
Cyrus Najmabadi
48bef4698b
Provide better error recovery when we encounter merge markers in the source.
...
Previously we would just treat each merge marker as trivia and then continue
scanning and parsing like normal. This worked well in some scenarios, but
fell down in others like:
```
class C {
public foo() {
<<<<<<< HEAD
this.bar();
}
=======
this.baz();
}
>>>>>>> Branch
public bar() { }
}
```
The problem stems from the previous approach trying to incorporate both branches of the merge into
the final tree. In a case like this, that approach breaks down entirely. The the parser ends up
seeing the close curly in both included sections, and it considers the class finished. Then, it
starts erroring when it encounters "public bar()".
The fix is to only incorporate one of these sections into the tree. Specifically, we only include
the first section. The second sectoin is treated like trivia and does not affect the parse at all.
To make the experience more pleasant we do *lexically* classify the second section. That way it
does not appear as just plain black text in the editor. Instead, it will have appropriate lexicla
classifications for keywords, literals, comments, operators, punctuation, etc. However, any syntactic
or semantic feature will not work in the second block due to this being trivia as far as any feature
is concerned.
This experience is still much better than what we had originally (where merge markers would absolutely)
destroy the parse tree. And it is better than what we checked in last week, which could easily create
a borked tree for many types of merges.
Now, almost all merges should still leave the tree in good shape. All LS features will work in the
first section, and lexical classification will work in the second.
2014-12-18 19:18:13 -08:00
Cyrus Najmabadi
828b33aae7
Add test demonstrating the problem with conflict markers.
2014-12-18 17:23:34 -08:00
Daniel Rosenwasser
4aa37691a1
Fixed issue where the second type's signature having type parameters would not cause an error.
2014-12-18 16:45:29 -08:00
Daniel Rosenwasser
50d0f9b719
Added tests/baselines.
2014-12-18 16:45:26 -08:00
Cyrus Najmabadi
67b2f13cce
Merge branch 'master' into layering
...
Conflicts:
src/compiler/parser.ts
2014-12-18 00:39:56 -08:00
Anders Hejlsberg
b2a02fe9ef
Merge pull request #1443 from Microsoft/improvedTypeInference
...
Make initial inferences from parameterless function expressions
2014-12-17 16:19:49 -08:00
Cyrus Najmabadi
b37b98138d
Merge branch 'master' into layering
...
Conflicts:
src/compiler/checker.ts
src/compiler/utilities.ts
2014-12-17 15:35:30 -08:00
Jason Freeman
29dfa3d6c0
Add module emit test
2014-12-17 14:33:32 -08:00
Cyrus Najmabadi
6a08c54f42
Merge branch 'master' into sourceFileUpdate
...
Conflicts:
src/compiler/checker.ts
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/harness/fourslash.ts
2014-12-17 13:22:04 -08:00
Anders Hejlsberg
a667959b1f
Accepting new baselines
2014-12-17 11:50:03 -08:00
Anders Hejlsberg
766756b4b1
Merge branch 'master' into spreadAndRest
...
Conflicts:
src/compiler/parser.ts
2014-12-17 11:49:45 -08:00
Cyrus Najmabadi
cd308e78ba
Merge branch 'master' into sourceFileUpdate
...
Conflicts:
src/compiler/checker.ts
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/parser.ts
tests/baselines/reference/FunctionDeclaration5_es6.errors.txt
tests/baselines/reference/VariableDeclaration2_es6.errors.txt
tests/baselines/reference/VariableDeclaration4_es6.errors.txt
tests/baselines/reference/anonymousModules.errors.txt
tests/baselines/reference/callSignaturesWithParameterInitializers2.errors.txt
tests/baselines/reference/conflictMarkerTrivia1.errors.txt
tests/baselines/reference/dottedModuleName.errors.txt
tests/baselines/reference/innerModExport1.errors.txt
tests/baselines/reference/innerModExport2.errors.txt
tests/baselines/reference/parserAccessors10.errors.txt
tests/baselines/reference/parserComputedPropertyName5.errors.txt
tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction1.errors.txt
tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.errors.txt
tests/baselines/reference/parserModifierOnStatementInBlock2.errors.txt
tests/baselines/reference/parserSkippedTokens16.errors.txt
tests/baselines/reference/privateIndexer2.errors.txt
2014-12-16 21:50:10 -08:00
Cyrus Najmabadi
99a189936f
Remove last vestiges of the grammar checker from the parser now that it has been entirely moved to the TypeChecker.
2014-12-16 19:59:16 -08:00
Yui T
9c9bd34352
Address code review
2014-12-16 19:49:40 -08:00
Yui T
d7f607234a
COMPLETE migrating grammar checking; No more errors
2014-12-16 19:30:08 -08:00
Yui T
fdfd8d4863
Cleaning up migrating grammar checking
2014-12-16 19:11:07 -08:00
Anders Hejlsberg
fab94d84e5
Merge branch 'master' into spreadAndRest
...
Conflicts:
src/compiler/parser.ts
2014-12-16 18:09:21 -08:00
Yui T
9ab59a4964
Merge branch 'master' into refactorGrammarCheck
...
Conflicts:
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/compiler/parser.ts
src/compiler/types.ts
tests/baselines/reference/YieldExpression8_es6.errors.txt
tests/baselines/reference/ambientErrors.errors.txt
tests/baselines/reference/giant.errors.txt
2014-12-16 17:38:40 -08:00
Yui T
8dc9f751a3
Complete grammar checking migration; there are still errors which will be fixed once pull master into the branch
2014-12-16 17:32:15 -08:00
Cyrus Najmabadi
f1a2e41a8a
Sort diagnostics in our baseline output.
...
This was we don't get noisy baselines just because a different phase of the compiler reported
the diagnostic.
This helps with Yui's refactoring work to move grammar checks into the type checker.
2014-12-16 15:56:56 -08:00
Jason Freeman
ab33a65d30
Fix issue #1503 with modules and imports sharing a name
2014-12-16 14:59:21 -08:00
Yui T
a3e8b6c6d7
Move grammar checking: interfaceDeclaration-remove it from checkModifiers in parser; there are still errors from incomplete grammar migration
2014-12-16 13:47:57 -08:00
Yui T
406576f1fc
Move grammar checking: propertyDeclaration, propertySignature; there are still errors from incomplete grammar migration
2014-12-16 13:36:00 -08:00
Yui T
c525877aaa
Move grammar checking: moduleDeclaration; there are still errors from incomplete grammar migration
2014-12-16 13:35:31 -08:00
Yui T
003515655e
Move grammar checking: methodDeclaration; there are still erros from incomplete grammar migration
2014-12-16 12:51:42 -08:00
Yui T
7a4d8cd8ee
Move grammar checking: setAccessor, getAccessor; there are still erros from incomplete grammar migration
2014-12-16 12:25:05 -08:00
Cyrus Najmabadi
8917e96663
Merge branch 'funcDeclsInBlocks' into sourceFileUpdate
...
Conflicts:
src/compiler/parser.ts
src/compiler/utilities.ts
2014-12-16 03:12:31 -08:00
Cyrus Najmabadi
6326b9d51f
Merge branch 'master' into sourceFileUpdate
2014-12-16 02:59:05 -08:00
Cyrus Najmabadi
c7bb0a5ae6
Don't store variable statement flags on its variable declaration children.
2014-12-16 02:50:38 -08:00
Vladimir Matveev
59c73c5f34
Merge pull request #1466 from Microsoft/linked_imports
...
defer decision whether import used on the right side of import declarati...
2014-12-16 00:46:26 -08:00
Yui T
694771b2d7
Move grammar checking: functionDeclaration; there are still errors from incomplet grammar migration
2014-12-15 23:05:29 -08:00
Yui T
25a6302b48
Move grammar checking: forStatement
2014-12-15 18:39:44 -08:00
Yui T
010745c371
Move grammar checking: forInStatement; there are still errors from incomplete migration
2014-12-15 18:28:24 -08:00
Yui T
e0e88adfc5
Move grammar checking: variableDeclaration, variableStatements; there are still erros from incomplete grammar migration
2014-12-15 18:10:35 -08:00
Daniel Rosenwasser
1f6cd941fd
Changed tests to error when actual contextual typing is broken.
2014-12-15 17:09:56 -08:00
Daniel Rosenwasser
e3848b98b1
Fixed bug where function expressions were not getting checked in template expressions.
2014-12-15 16:45:17 -08:00
Yui T
f22adf6785
Move grammar checking: constructorDeclaration; there are still errors from incomplete grammar migration
2014-12-15 16:42:31 -08:00
Daniel Rosenwasser
17c822966d
Added tests for erroneous function expressions in both tagged/untagged template expressions.
2014-12-15 16:39:12 -08:00
Daniel Rosenwasser
0263d60071
Split contextual typing test for substitution expressions into two tests.
2014-12-15 16:14:35 -08:00
Yui T
bcf73a8207
Move grammar checking: enumDeclaration; there are still erros from incomplete grammar migration
2014-12-15 15:26:08 -08:00
Yui T
28a115ef37
Move grammar checking: breakStatement, continueStatement; there are still errors from incomplete grammar migration
2014-12-15 15:05:31 -08:00
Daniel Rosenwasser
b65a422c7a
Fixed contextual typing for tagged template expressions.
2014-12-15 14:11:21 -08:00
Yui T
b388eb3c2a
Move grammar checking: taggedTemplateExpression
2014-12-14 21:12:14 -08:00
Yui T
1cc0d184bb
Move grammar checking: shorthandPropertyAssignment; Add more parser test; there are still errors from incomplete migration
2014-12-14 19:14:02 -08:00
Yui T
eadcc06fa3
Move grammar checking: returnStatement; there are still error from incomplet grammar migration
2014-12-14 15:18:54 -08:00
Yui T
e852f3379c
Move grammar checking: prefixUnaryExpression; There are still error from incomplete migration
2014-12-14 11:29:54 -08:00
Yui T
94d4ac28f9
Move grammar checking: postfixUnaryExpression
2014-12-14 11:12:45 -08:00
Anders Hejlsberg
b9db747117
Accepting new baselines.
2014-12-14 09:47:26 -08:00