Commit Graph
2152 Commits
Author SHA1 Message Date
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 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 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
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
Cyrus Najmabadi dd2c869d7b Use chai asserts. 2014-12-09 19:49:40 -08:00
Cyrus Najmabadi 783b0e53d1 Remove unnecessary switch case. 2014-12-09 16:43:45 -08:00
Cyrus Najmabadi fa4b68fa6c Initial test harness for incremental parser tests. 2014-12-09 16:39:52 -08:00
Cyrus Najmabadi 6170c56af4 Remove 'isOpen' and 'version' from teh compiler's SourceFile type.
Also, provide a way for creators of a source file to specify if they
want parent nodes hooked up.
2014-12-09 16:08:01 -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
Cyrus Najmabadi edc60ed808 Fix invariant issues. 2014-12-08 23:46:30 -08:00
Cyrus Najmabadi 89cd1e28f2 Remove unused type. 2014-12-08 18:58:13 -08:00
Cyrus Najmabadi afc57777f3 Put the actual parsing logic at the top of createSourceFile instead of the bottom.
This makes it vastly simpler to fix up that logic since you no longer have to go find
the end of the function first.
2014-12-08 18:36:25 -08:00
CyrusNajmabadi 96a8f22385 Merge pull request #1408 from Microsoft/methods
Remove the 'Method' syntaxkind and introduce MethodSignature and MethodDeclaration instead.
2014-12-08 18:13:42 -08:00
CyrusNajmabadi 0c20aacf99 Merge pull request #1409 from Microsoft/test262invariants3
Fix some parts of for-each invariant checking.
2014-12-08 17:52:38 -08:00
Vladimir Matveev 345de374e4 Merge pull request #1405 from Microsoft/formatting_space_before_comma
fix formatting to add space after comma between arguments when arguments...
2014-12-08 17:46:52 -08:00
Cyrus Najmabadi 21301b94cb Prevent json recursion overflow in 262 tests. 2014-12-08 17:42:54 -08:00
Mohamed Hegazy 9d31d356b4 Merge pull request #1400 from Microsoft/addMethodToBoolean
Add new method on interface Boolean to ensure it is not assignable from other types
2014-12-08 17:09:27 -08:00
Cyrus Najmabadi 174d48a29e Fix some parts of for-each invariant checking. 2014-12-08 17:04:05 -08:00
Paul van Brenk 40e5c73504 Update version to 1.4 2014-12-08 16:51:40 -08:00
Cyrus Najmabadi cc83925f32 Also split out .PropertyDeclaration and .PropertySignature from .Property. 2014-12-08 16:37:35 -08:00
Yui T aee0b9e8a1 Merge branch 'master' into fixSpeculativeParse
Conflicts:
	tests/baselines/reference/parserCommaInTypeMemberList2.errors.txt
2014-12-08 16:35:51 -08:00
CyrusNajmabadi 0fb4155911 Merge pull request #1407 from Microsoft/commaInsteadOfSemicolon
Better error recovery when encountering an errant comma in a semicolon delimited list.
2014-12-08 16:18:28 -08:00
Cyrus Najmabadi c1b19d761d Remove the 'Method' syntaxkind and introduce MethodSignature and MethodDeclaration instead.
Sharing a single kind here would be bad for incremental scenarios as these two node types
are not interchangeable.

For now, i have updated nearly all code to look for both kinds.  However, it may not make sense
in all locations, and we could likely tighten up many code locations to only have to deal with
one or the other.
2014-12-08 16:16:11 -08:00
Vladimir Matveev b40a8dc52d Merge branch 'master' into formatting_space_before_comma 2014-12-08 15:43:33 -08:00
Vladimir Matveev f23a87c2ee merge 2014-12-08 15:43:08 -08:00
Cyrus Najmabadi 5db51fead8 Better error recovery when encountering an errant comma in a semicolon delimited list. 2014-12-08 15:35:09 -08:00
Yui T e9beba783e Fix speculative parsing by terminating the list when encounting illegal token 2014-12-08 15:02:45 -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
Cyrus Najmabadi 4f4e249a04 Add tree invariant checking to the test262 runner. 2014-12-08 14:03:31 -08:00
Cyrus Najmabadi e9a5be46a4 Improve test 262 baselines. 2014-12-08 13:25:40 -08:00
Mohamed Hegazy 80c5acc04e Add new method on interface Boolean to ensure it is not assignable from other types 2014-12-08 11:22:52 -08:00
Daniel Rosenwasser b6f12253ce Merge pull request #1399 from Microsoft/checkSymbolExists
Check if the symbol exists before checking its visibility in isEntityNameVisible.
2014-12-08 11:22:34 -08:00
Vladimir Matveev 3469b4ce03 addressed CR feedback: rename getApiVersion to getServicesVersion 2014-12-07 21:41:15 -08:00
Vladimir Matveev a4a87f87fa removed dummy parameter from getApiVersion method 2014-12-07 15:17:20 -08:00
Vladimir Matveev 89a065185b added getApiVersion method to TypeScriptServicesFactory 2014-12-07 00:13:19 -08:00
Vladimir Matveev 80c67db75b add error\trace message that should be exposed by the host 2014-12-06 21:23:54 -08:00
Anders Hejlsberg b3dffffeb7 Addressing a bit more CR feedback 2014-12-06 14:56:34 -08:00
Anders Hejlsberg 05c9966180 Addressing CR feedback:
New SyntaxKind.BindingElement
Introduced new VariableLikeDeclaration and BindingElement types
Cleaned up VariableDeclaration, ParameterDeclaration, PropertyDeclaration types
Node kind of binding element is always SyntaxKind.BindingElement
Changed CheckVariableDeclaration to CheckVariableLikeDeclaration
Reorganized CheckVariableLikeDeclaration
2014-12-06 13:53:06 -08:00