Cyrus Najmabadi
a1d04c3c65
Merge branch 'master' into mergeMarkers1
2014-12-28 18:58:47 -08:00
Cyrus Najmabadi
0707350c7b
Update conflict marker formatting test. We now no longer format the second branch of hte merge.
2014-12-19 11:33:45 -08:00
Cyrus Najmabadi
a6ea497ff1
Classify the '=' sign in variable/parameter/property as if it was an operator.
2014-12-18 19:38:19 -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
50d0f9b719
Added tests/baselines.
2014-12-18 16:45:26 -08:00
Daniel Rosenwasser
af9b56bdd9
Merge pull request #1528 from Microsoft/goToDefOnUnionMethod
...
Fix crash on go-to-def on union method
2014-12-18 12:11:05 -08:00
Daniel Rosenwasser
6fed3e2601
Merge pull request #1501 from Arnavion/no-emit
...
Add -noEmit compiler flag that skips the emit stage in ts.compile()
2014-12-17 18:00:33 -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
Daniel Rosenwasser
b3ccb562fb
Added test for goToDef on union types.
2014-12-17 15:11:43 -08:00
Daniel Rosenwasser
42babc52d3
Use 'definitionCountIs' in union property tests.
2014-12-17 15:11:40 -08:00
Daniel Rosenwasser
6c753496e7
Rename file.
2014-12-17 15:11:38 -08:00
Daniel Rosenwasser
7a1be3cc04
Added test using code from original issue.
2014-12-17 15:11:35 -08:00
Daniel Rosenwasser
af4d7d3ff4
Added goToDef count verification in fourslash facilities.
2014-12-17 15:11:31 -08:00
Daniel Rosenwasser
eaaf7ad468
Normalize a few fourslash line endings.
2014-12-17 15:11:29 -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
Cyrus Najmabadi
4545549e07
Disable incremental by default before merging into master.
2014-12-17 12:41:08 -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
Arnavion
cd6eb180c6
Don't emit outputs when -noEmit is specified.
2014-12-16 20:25:19 -08:00
Yui T
c2b03b6384
Address code review
2014-12-16 19:53:42 -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
Cyrus Najmabadi
c9ee88e5c4
Adding incremental test.
2014-12-16 11:58:47 -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
Cyrus Najmabadi
41e59824fb
Merge branch 'master' into funcDeclsInBlocks
2014-12-15 20:50:48 -08:00
Cyrus Najmabadi
14883cb18e
Merge branch 'master' into typingHighFidelity
2014-12-14 23:46:05 -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
Cyrus Najmabadi
bd76ebd02b
Enable incremental parsing by default.
...
Provide flag to disable incremental parsing if necessary.
2014-12-14 12:39:11 -08:00
Cyrus Najmabadi
3478099a85
Add incremental parsing LS test.
2014-12-14 12:30:02 -08:00
Cyrus Najmabadi
872df4dda4
Merge branch 'noDebuggerInTests' into sourceFileUpdate
2014-12-14 12:23:05 -08:00
Cyrus Najmabadi
b4a21686c1
Remove calls to "debugger;" in our fourslash tests.
2014-12-14 12:22:36 -08:00
Cyrus Najmabadi
e1e5243335
Merge branch 'typingHighFidelity' into sourceFileUpdate
...
Conflicts:
tests/cases/unittests/incrementalParser.ts
2014-12-14 12:06:26 -08:00
Cyrus Najmabadi
0e01e48d0e
Always run all fourslash tests in high fidelity typing mode.
...
We want to verify after every edit that our incremental data is correct.
2014-12-14 11:34:15 -08:00
Cyrus Najmabadi
f5d622f0c9
Move test helpers into the harness Utils module.
2014-12-14 10:57:34 -08:00
Anders Hejlsberg
3e436c5047
Adding new tests
2014-12-12 14:34:12 -08:00
Anders Hejlsberg
b416cbc599
Merge branch 'master' into spreadAndRest
...
Conflicts:
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/compiler/parser.ts
2014-12-12 14:32:53 -08:00
Cyrus Najmabadi
ffdddd53af
Merge branch 'master' into funcDeclsInBlocks
...
Conflicts:
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/compiler/parser.ts
2014-12-12 14:05:09 -08:00
Vladimir Matveev
c24f75fd73
defer decision whether import used on the right side of import declaration should be considered referenced
2014-12-12 11:48:46 -08:00
Anders Hejlsberg
86a9c80ff8
Adding tests and accepting new baselines
2014-12-12 10:56:22 -08:00
Cyrus Najmabadi
d5c6636854
Parse function and variable declarations uniformly, whether they're at teh top level, or inside a method.
...
This is necessary for incremental parsing correctness, as the incremental parser
will attempt to reuse these types of nodes in both contexts, and we much ensure
it creates the same trees you would get if you were parsing normally.
2014-12-12 03:52:01 -08:00
Cyrus Najmabadi
8820ca0596
Change the error-bit to be a node-flag and not a parser context flag.
...
Do not reuse nodes with errors in them. We need to reparse them to make
sure we produce the right errors the second time around.
2014-12-12 03:25:49 -08:00
Cyrus Najmabadi
60c62e5b6b
Don't consume nodes during calls to isListElement.
2014-12-12 03:06:05 -08:00
Cyrus Najmabadi
9c0e4211bc
Properly adjust nodes while walking down the tree.
2014-12-12 02:34:53 -08:00
Cyrus Najmabadi
2f833d5f97
Provide a way for tests to try out incremental parsing.
2014-12-12 02:21:45 -08:00
Cyrus Najmabadi
f218ce7684
Merge branch 'master' into sourceFileUpdate
...
Conflicts:
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/compiler/parser.ts
tests/baselines/reference/APISample_node_compile.js
tests/baselines/reference/APISample_node_compile.types
tests/baselines/reference/APISample_standalone_compile.js
tests/baselines/reference/APISample_standalone_compile.types
2014-12-12 00:52:07 -08:00
Daniel Rosenwasser
854586e824
Merge branch 'release-1.4' into fixProcessDiagMessagesProbWith1.4Merge
...
Conflicts:
tests/baselines/reference/APISample_node_compile.js
tests/baselines/reference/APISample_node_compile.types
tests/baselines/reference/APISample_standalone_compile.js
tests/baselines/reference/APISample_standalone_compile.types
tests/cases/compiler/APISample_node_compile.ts
tests/cases/compiler/APISample_standalone_compile.ts
2014-12-12 00:09:23 -08:00