Commit Graph

26317 Commits

Author SHA1 Message Date
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
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
CyrusNajmabadi 308d8e5d1e Merge pull request #1372 from Microsoft/forEach
ForEach cleanup
2014-12-04 18:55:19 -08:00
Anders Hejlsberg b49e2772ea Addressing CR feedback 2014-12-04 17:43:15 -08:00
Sheetal Nandi e29aadb4c4 "let" should only be considered a keyword in strict mode, or when it starts an actual construct
Handles #1301
2014-12-04 16:45:09 -08:00
Sheetal Nandi a4ab192b6f Fix the merge conflicts 2014-12-04 13:38:51 -08:00
CyrusNajmabadi f99bc15783 Merge pull request #1369 from Microsoft/parserErrors2
Track if the parser encountered any errors as a bit in the next node that is produced.
2014-12-04 13:37:50 -08:00
Vladimir Matveev fc47fc31be Merge pull request #1371 from Microsoft/nullref_with_hotswapping
Remove redundant initialization code from the constructor of SyntaxTreeCache
2014-12-04 13:13:08 -08:00
Cyrus Najmabadi bce8314e0b Don't return the last falsy value when forEach'ing over an array. 2014-12-04 13:11:42 -08:00
Mohamed Hegazy 306b4a2841 Merge pull request #1347 from Microsoft/test262RunnerUpdates
Update test262 runner to serialize flags
2014-12-04 13:07:33 -08:00
Cyrus Najmabadi 7e6f1ab01d Don't return the last falsy element in forEachChild. 2014-12-04 13:06:03 -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
CyrusNajmabadi 4d0f9920e9 Merge pull request #1364 from Microsoft/coverage
Add grammar walker test coverage cases.
2014-12-04 13:01:42 -08:00
Sheetal Nandi c3c44dc3c8 Some renaming and added comments as per feedback 2014-12-04 12:55:54 -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 15e6b64ff6 Merge branch 'master' into parserErrors2 2014-12-04 12:43:19 -08:00
CyrusNajmabadi 51804ee91e Merge pull request #1367 from Microsoft/tokenRanges
Simplify scanner by removing need for a 'onComment' callback.
2014-12-04 12:42:57 -08:00
Cyrus Najmabadi 1285c46b5a Merge branch 'master' into parserErrors2
Conflicts:
	src/compiler/parser.ts
2014-12-04 12:40:23 -08:00
CyrusNajmabadi 824edead9e Merge pull request #1368 from Microsoft/parseErrors
Remove all function expression allocations when speculatively parsing or looking ahead.
2014-12-04 12:35:40 -08:00
Cyrus Najmabadi 405508c100 CR feedback. 2014-12-04 12:32:16 -08:00
Vladimir Matveev 658ff2498a drop redundant initialization code 2014-12-04 12:00:26 -08:00
Mohamed Hegazy e52b1fcc24 Merge branch 'master' into test262RunnerUpdates 2014-12-04 11:54:42 -08:00