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
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
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
Arnavion
cd6eb180c6
Don't emit outputs when -noEmit is specified.
2014-12-16 20:25:19 -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
c7bb0a5ae6
Don't store variable statement flags on its variable declaration children.
2014-12-16 02:50:38 -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
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
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
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
Cyrus Najmabadi
7df3a407c2
Make the compiler resilient to encountering merge conflict markers in a source code file.
2014-12-11 16:56:10 -08:00
Cyrus Najmabadi
76df92cc78
Merge branch 'master' into funcDeclsInBlocks
2014-12-11 14:59:03 -08:00
Cyrus Najmabadi
b692ea9b66
Remove TryBlock and FinallyBlock.
...
They break the rule that syntactically identical constructs use the same syntax kind. This
prevents node reuse in incremental parsing.
2014-12-11 14:40:25 -08:00
Vladimir Matveev
997aadb902
Merge pull request #1437 from Microsoft/formatting_conditionals
...
conditionals are now introduce indentation scope
2014-12-10 23:28:54 -08:00
Vladimir Matveev
d69ba56ece
added test for inherited indentation
2014-12-10 22:01:34 -08:00
Vladimir Matveev
10d08b816e
do not indent leading comments that attached to tokens with errors
2014-12-10 15:08:26 -08:00
Vladimir Matveev
30ada4cffe
conditionals are now introduce indentation scope
2014-12-10 14:03:14 -08:00
Anders Hejlsberg
bb70e9eb12
Merge pull request #1346 from Microsoft/destructuring
...
Destructuring
2014-12-09 11:39:23 -08:00
Anders Hejlsberg
7bc35b3ae0
Merge branch 'master' into destructuring
...
Conflicts:
src/compiler/binder.ts
src/compiler/checker.ts
src/compiler/emitter.ts
src/compiler/parser.ts
src/services/services.ts
tests/baselines/reference/parserCommaInTypeMemberList2.errors.txt
2014-12-09 11:26:43 -08:00
Vladimir Matveev
cd2016c48a
Merge pull request #1416 from Microsoft/inherited_deltas
...
inherit delta from nodes on the same line
2014-12-09 10:46:41 -08:00
Vladimir Matveev
7ed4225413
inherit delta from nodes on the same line
2014-12-09 04:55:33 -08:00
Anders Hejlsberg
459dee0e84
Merge branch 'master' into destructuring
...
Move downlevel vs. ES6 emit branching into individual emit functions
2014-12-08 14:42:38 -08:00
Vladimir Matveev
929d359bdf
fix formatting to add space after comma between arguments when arguments starts with open paren
2014-12-08 14:28:19 -08:00
Vladimir Matveev
f30bb7ec35
add classification for type aliases
2014-12-05 17:32:36 -08:00
Sheetal Nandi
e3320c2530
Merge pull request #1362 from Microsoft/contextSensitiveExpressions
...
Resolve the context sensitive expression containers before resolving node
2014-12-04 13:02:56 -08:00
Daniel Rosenwasser
6a882e7392
Merge pull request #1363 from Microsoft/noMoreExpandoBar
...
Fixed issue where missing identifiers pushed trivia into the navigation bar
2014-12-04 12:44:58 -08:00
Cyrus Najmabadi
c735ccc46d
Merge branch 'master' into propertyAssignments
2014-12-03 19:33:33 -08:00
Anders Hejlsberg
816abb19e4
Merge branch 'master' into destructuring
...
Conflicts:
src/compiler/checker.ts
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/compiler/emitter.ts
src/compiler/parser.ts
src/compiler/types.ts
src/services/navigationBar.ts
tests/baselines/reference/assignmentLHSIsValue.errors.txt
tests/baselines/reference/objectTypesWithOptionalProperties.errors.txt
tests/baselines/reference/parserErrorRecovery_ParameterList2.errors.txt
2014-12-03 16:43:01 -08:00
Daniel Rosenwasser
0e9561194b
Added tests.
2014-12-03 15:05:38 -08:00
Daniel Rosenwasser
d4575572b6
parenetName -> parentName
2014-12-03 14:58:15 -08:00
Daniel Rosenwasser
dfad03a35c
Normalized line endings for test.
2014-12-03 14:56:02 -08:00
Sheetal Nandi
1939c7f2cd
Fix the getSymbolInfo and getTypeOfNode entry points to resolve the context sensitive information before resolving the actual node
2014-12-03 14:47:13 -08:00
Sheetal Nandi
c40e0f6738
Fixes the quickInfo when hovering over var inside the context sensitive expression
...
Handles #1165
2014-12-03 14:00:58 -08:00
Sheetal Nandi
1551c0a466
Merge pull request #889 from Microsoft/SymbolDisplayParkKindTests
...
Symbol display part kind test cases
2014-12-03 13:21:53 -08:00
Sheetal Nandi
c4f4e787cf
Add test cases for external module reference of the alias
2014-12-03 12:41:32 -08:00
Cyrus Najmabadi
0900005438
Don't rewrite function property assignments in the AST.
2014-12-03 01:46:04 -08:00
Mohamed Hegazy
d9b3d21cba
Merge branch 'master' into getOccurancesAssert
2014-12-02 20:16:50 -08:00