Commit Graph
2931 Commits
Author SHA1 Message Date
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
Cyrus Najmabadi 12f8bfb687 Unify accessor declaration parsing. 2014-12-10 23:33:30 -08:00
Cyrus Najmabadi ba0fd4453d Add additional incremental tests. 2014-12-10 23:04:13 -08:00
Cyrus Najmabadi fe57f3d2e4 Support modifiers on object literal methods and accessors, and question tokens on object literal methods.
This makes parsing of these constructs the same whether they are in an object literal or a class.

This is important for incrementla parsing for knowing if we can reuse these nodes if we run
into them.
2014-12-10 22:30:40 -08:00
Cyrus Najmabadi 4850dfbb8e Support modifiers on index signatures in an object type.
This makes index signature parsing non-contextual.  This is necessary so that
incremental parsing can reuse index signatures acros classes and object types.
2014-12-10 20:55:46 -08:00
Cyrus Najmabadi ee828dc1da More incremental parser tests. 2014-12-10 19:15:44 -08:00
Cyrus Najmabadi 563b234240 Incremental parser tests should verify the same set of diagnostics are produced. 2014-12-10 19:07:36 -08:00
Cyrus Najmabadi fc27f72324 Understand and handle modifiers on function declarations and variable statements within blocks.
This ensures reusability for functions/variables that may have been outside a block, but end up
inside one afterwards.  It also ensure the same tree is produced when incremental parsing.

i.e.  if you have:

declare function F() { }

And you add a { above it, then we current have an incremental parsing bug.  Namely we would see
a FunctionDeclaration node and say 'yes, we can reuse that node while parsing the block'.  This
is currently broken because the normal parse would not have normally accepted such a node (because
of the modifiers).

This was an example of contextual parsing of the same kind of node.  Something which we do not
want to do if we want incremental parsing to work properly.
2014-12-10 18:52:56 -08:00
Cyrus Najmabadi 3699a4079f Rename method. 2014-12-10 17:52:42 -08:00
Daniel Rosenwasser 9ad6eb21ed Merge pull request #1341 from Microsoft/escapingTheTemplateOfDoom
Template string escaping fixes
2014-12-10 16:29:00 -08:00
Vladimir Matveev 49eb487920 Merge pull request #1440 from Microsoft/add_missing_property
add missing property to harness language service
2014-12-10 14:57:26 -08:00
Vladimir Matveev 6520663de7 add missing property to harnessLS 2014-12-10 14:52:42 -08:00
Vladimir Matveev 51903106c7 Merge pull request #1395 from Microsoft/dev_mode
Add 'dev mode' to the language service
2014-12-10 14:34:23 -08:00
Anders Hejlsberg ab4706a211 Merge pull request #1433 from Microsoft/typeGuardWithAny
Type guards should not affect values of type any
2014-12-10 14:33:31 -08:00
Anders Hejlsberg 2876ba6a6c Addressing CR feedback 2014-12-10 14:25:02 -08:00
CyrusNajmabadi f51767c26c Merge pull request #1432 from Microsoft/isOpenVersion2
Only set parents for parse trees in the LS for the syntactic trees.
2014-12-10 13:02:47 -08:00
Anders Hejlsberg 37b5c74b93 Adding test case 2014-12-10 10:17:48 -08:00
Anders Hejlsberg 7c09b724dc Type guards do no affect values of type any 2014-12-10 10:16:51 -08:00
Cyrus Najmabadi 1170a1c436 Only set parents for parse trees in the LS for the syntactic trees.
we don't need this for the semantic trees because the compiler will set them all during
the binding.
2014-12-10 10:09:40 -08:00
CyrusNajmabadi aea499e572 Merge pull request #1422 from Microsoft/incrementalTests
Initial test harness for incremental parser tests.
2014-12-09 23:07:34 -08:00
Cyrus Najmabadi dd2c869d7b Use chai asserts. 2014-12-09 19:49:40 -08:00
Cyrus Najmabadi aa30ac8a9c Add incremental test. 2014-12-09 19:37:26 -08:00
Cyrus Najmabadi 2a845726ab Add incremental test. 2014-12-09 18:36:32 -08:00
Cyrus Najmabadi 3c35b9097f Add incremental test. 2014-12-09 18:35:23 -08:00
Cyrus Najmabadi 58d36afbec Add incremental test. 2014-12-09 18:32:43 -08:00
Cyrus Najmabadi 3928f743ac Add incremental test. 2014-12-09 18:30:40 -08:00
Cyrus Najmabadi 01ead476cf Add incremental test. 2014-12-09 18:29:18 -08:00
Cyrus Najmabadi b8bb8e9998 Add incremental test. 2014-12-09 18:27:59 -08:00
Cyrus Najmabadi 467d303c67 Add incremental test. 2014-12-09 18:26:50 -08:00
Cyrus Najmabadi dad3faecf3 Add incremental test. 2014-12-09 18:25:10 -08:00
Cyrus Najmabadi c489c4fcfe Add incremental test. 2014-12-09 18:24:16 -08:00
Cyrus Najmabadi 9b53947d51 Add incremental test. 2014-12-09 18:23:25 -08:00
Cyrus Najmabadi afec0fb9f0 Add incremental test. 2014-12-09 18:17:11 -08:00
Cyrus Najmabadi 197b62e92a Add incremental test. 2014-12-09 18:13:09 -08:00
Cyrus Najmabadi 025dd23c1b Add incremental test. 2014-12-09 18:11:56 -08:00
Cyrus Najmabadi 78c4b92216 Add incremental test. 2014-12-09 18:10:15 -08:00
Cyrus Najmabadi d6fa98d00b Add incremental test. 2014-12-09 18:07:48 -08:00
Cyrus Najmabadi ec13fbee96 Add incremental test. 2014-12-09 18:05:45 -08:00
Cyrus Najmabadi 3e70073211 Add incremental test. 2014-12-09 18:03:52 -08:00
Cyrus Najmabadi 18f9acb7fc Add incremental test. 2014-12-09 18:00:08 -08:00
Cyrus Najmabadi b8942992a0 Add incremental test. 2014-12-09 17:58:23 -08:00
Cyrus Najmabadi 418c0d9d91 Add incremental test. 2014-12-09 17:57:13 -08:00
Cyrus Najmabadi 5b2778c200 Add incremental test. 2014-12-09 17:45:50 -08:00
Cyrus Najmabadi 666363a7de Add incremental test. 2014-12-09 17:42:36 -08:00
Cyrus Najmabadi e564fa5c9d Add incremental test. 2014-12-09 17:37:17 -08:00
Cyrus Najmabadi c307d306c0 Add incremental test. 2014-12-09 17:34:26 -08:00
Cyrus Najmabadi c436ff47a1 Add incremental test. 2014-12-09 17:33:15 -08:00
Cyrus Najmabadi c7fcbb9f6b Add incremental test. 2014-12-09 17:29:52 -08:00
Cyrus Najmabadi 1cd2fb4333 Add incremental test. 2014-12-09 17:23:14 -08:00
Cyrus Najmabadi c482a9e0e3 Add incremental test. 2014-12-09 17:22:15 -08:00