1264 Commits

Author SHA1 Message Date
Anders Hejlsberg
a42df7547e Rest element support in array destructuring declarations 2014-12-11 18:27:08 -08:00
Anders Hejlsberg
6babef417f Rest element support in array literal destructuring assignment 2014-12-11 17:41:24 -08:00
Anders Hejlsberg
afa3111955 Check and emit of spread elements in array literals 2014-12-11 16:23:57 -08:00
Anders Hejlsberg
ebc7e7e0e3 Parsing of spread element expressions 2014-12-10 06:45:01 -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
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
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
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
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
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
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
Daniel Rosenwasser
cd8cd0ce3a Check if the symbol exists before checking its visibility.
Should fix #1348.
2014-12-05 18:13:58 -08:00
Vladimir Matveev
b9bda98256 fetch actual parameter name of indexer when printing literal type 2014-12-05 16:58:49 -08:00
jbondc
ab51f3069a Missing reference for getModuleInstanceState() 2014-12-05 07:18:23 -05: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
Cyrus Najmabadi
bce8314e0b Don't return the last falsy value when forEach'ing over an array. 2014-12-04 13:11:42 -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
Cyrus Najmabadi
405508c100 CR feedback. 2014-12-04 12:32:16 -08:00
Cyrus Najmabadi
8756142e25 Provide utility function to report back if a node contained a parse error anywhere inside of it. 2014-12-04 10:36:18 -08:00
Cyrus Najmabadi
1976f0de2e Track if the parser encountered any errors as a bit in the next node that is produced. 2014-12-04 10:19:57 -08:00
Cyrus Najmabadi
9beb730757 Fix indentation. 2014-12-04 10:08:32 -08:00
Cyrus Najmabadi
6a3222ca30 Inline method. 2014-12-04 10:07:44 -08:00
Cyrus Najmabadi
8c0fdbcff0 Add invariant assert in the parser. 2014-12-04 09:49:52 -08:00
Cyrus Najmabadi
5bd57be947 Fix comment. 2014-12-04 09:19:24 -08:00
Cyrus Najmabadi
589e6274f8 Remove function expression allocation when speculatively parsing or looking ahead.
Also, remove unnecessary grammar check now that the previous hack to insert a
missing type argument node has been removed.
2014-12-04 09:09:01 -08:00
Cyrus Najmabadi
d796bf1e0a Improve the flexibility of speculative parsing.
We now no longer fail a speculative parse just because an error was encountered at any point while
speculating.  instead, we allow the speculative function that is being called to determine if the
parse was successful or not.  Only if it decides it was not successful is parsing rewound.

This improves our error recovery in several cases (esp. around arrow functions).  it will also
help in a followup refactoring to prevent lookahead/speculative parsing from causing lambda
allocations.
2014-12-04 08:53:45 -08:00
Cyrus Najmabadi
2510a5f907 Simplify scanner by removing need for a 'onComment' callback. 2014-12-04 06:40:36 -08:00
Cyrus Najmabadi
4db419d93c more baselines. revert unintentional change to harness.ts. 2014-12-03 22:14:55 -08:00
Cyrus Najmabadi
e6d1e39fb7 Add more coverage tests. 2014-12-03 21:07:50 -08:00