2132 Commits

Author SHA1 Message Date
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
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
Dick van den Brink
73802885d0 Removed property access 2014-12-06 16:57:27 +01:00
Vladimir Matveev
98750ca7b4 Merge pull request #1389 from Microsoft/colorize_type_aliases
add classification for type aliases
2014-12-06 07:24:59 -08:00
Vladimir Matveev
8dac035f9e Merge pull request #1388 from Microsoft/indexer_name
fetch actual parameter name of indexer when printing literal type
2014-12-06 07:24:34 -08:00
Mohamed Hegazy
85d30c8558 Merge pull request #1381 from jbondc/master
Missing reference for getModuleInstanceState()
2014-12-06 07:17:34 -08:00
Cyrus Najmabadi
b25d0a6fbc Merge branch 'master' into invertedIncremental
Conflicts:
	src/services/syntax/parser.ts
2014-12-06 01:30:38 -08:00
Daniel Rosenwasser
cd8cd0ce3a Check if the symbol exists before checking its visibility.
Should fix #1348.
2014-12-05 18:13:58 -08:00
Cyrus Najmabadi
315815c11e Move code responsible for determining node resuability (in incremental scenarios) to a single location. 2014-12-05 17:43:45 -08:00
Vladimir Matveev
f30bb7ec35 add classification for type aliases 2014-12-05 17:32:36 -08:00
Vladimir Matveev
b9bda98256 fetch actual parameter name of indexer when printing literal type 2014-12-05 16:58:49 -08:00
Cyrus Najmabadi
c6ee1a01e3 Move over all changes from my private branch. 2014-12-05 14:55:39 -08:00
Cyrus Najmabadi
bdcbea9908 Remove setting of parents in the factory. 2014-12-05 13:23:54 -08:00
Cyrus Najmabadi
d8da2a4d34 Remove restriction that you cannot reuse nodes/tokens during incremental parsing while doing speculatively operations.
Great idea from @yuit

This restriction was in place because the old parser would mutate nodes as it created them. i.e. when
creating a node it would set the parent of its children right then.  During incremental parsing, this
couldl be bad because we might take an old node, set its parent to be something else, and then decide
we didn't even want to go down that speculative path to begin with.  Now the parent of some child node
would be mutated.  So we might have a node that pointed to a child that then pointed to a different
parent.

To get around this, we restricted the incremental so that it would not reuse from the previous tree
if we were speculatively parsing.  However, Yui had a very good idea to just move the parent setting
phase to be a postpast (similar to the new compiler).  By doing this, we never mutate nodes as we
parse, and thus we never end up with inconsistent nodes.  The post pass then ensures that all parents
are correct relative to the new tree.

Conflicts:
	src/services/syntax/SyntaxGenerator.js
	src/services/syntax/SyntaxGenerator.js.map
	src/services/syntax/incrementalParser.ts
	src/services/syntax/scanner.ts
	src/services/syntax/syntaxGenerator.ts
	src/services/syntax/syntaxNodes.concrete.generated.ts
2014-12-05 12:57:08 -08:00
Cyrus Najmabadi
9982795200 Rename _skippedTokens to skippedTokens. 2014-12-05 09:05:36 -08:00
Cyrus Najmabadi
12e90a09ef Simplify parser API. 2014-12-05 09:05:28 -08:00
Cyrus Najmabadi
9cf588d4be Move syntax cursor into its own file. 2014-12-05 09:05:14 -08:00
jbondc
ab51f3069a Missing reference for getModuleInstanceState() 2014-12-05 07:18:23 -05:00
Cyrus Najmabadi
8032c0f950 Use callbacks for speculative parsing. 2014-12-04 19:05:01 -08:00