1883 Commits

Author SHA1 Message Date
Cyrus Najmabadi
eee6491521 Don't create a missing node for "foo[]".
We want to remove 'missing' nodes, and we also want to improve increment reuse (which missing nodes
interfere with).
2014-12-01 14:14:39 -08:00
Cyrus Najmabadi
3a6dba5878 Replace unnecessary case in switch with assert. 2014-12-01 13:46:44 -08:00
Cyrus Najmabadi
1a39d09939 Treat 'const' as a modifier if followed by 'enum'. 2014-12-01 13:42:27 -08:00
Cyrus Najmabadi
cc1da37e72 Use a single member to represent a module reference. 2014-12-01 13:24:33 -08:00
Cyrus Najmabadi
64b1f232b5 Simplify the code for parseDeclaration.
This is to help get to a point where we can remove the direct call to 'error' within it.
2014-12-01 03:24:12 -08:00
Cyrus Najmabadi
1600b38760 Don't explicitly call 'error' when parsing a type. 2014-12-01 03:15:51 -08:00
Cyrus Najmabadi
ada6cebef3 Don't parse nodes, only to not include them in the tree. This will break incremental parsing scenarios.
Properly store the data for an external module reference in the AST.
2014-12-01 03:00:27 -08:00
Cyrus Najmabadi
4db6d3136c Extract out common code from the list parsers. 2014-12-01 01:10:21 -08:00
Cyrus Najmabadi
08d3e4a90e Don't directly create errors when parsing expressions. 2014-12-01 00:57:48 -08:00
Cyrus Najmabadi
94febee138 Don't create errors directly when parsing template spans. 2014-12-01 00:52:52 -08:00
Cyrus Najmabadi
2f634b7e54 Don't report errors directly when parsing throw statements or try/finally statements. 2014-12-01 00:45:18 -08:00
Cyrus Najmabadi
f91996a80c Don't report an error directly when parsing a function body. 2014-12-01 00:31:31 -08:00
Cyrus Najmabadi
7eb4e742d1 Don't directly produce errors while parsing 'try' statements. 2014-12-01 00:16:55 -08:00
Cyrus Najmabadi
f404212793 Make fewer direct calls to 'error' and 'errorAtPos' in the parser. 2014-12-01 00:01:41 -08:00
Cyrus Najmabadi
bab0c1d258 Simplify ASI parsing. 2014-11-30 22:49:35 -08:00
Cyrus Najmabadi
0b8b90cdbc Code review feedback.
Explain how TypeLiterals and ObjectLiterals are declarations.
Rename variable to be clearer.
2014-11-30 22:41:20 -08:00
Cyrus Najmabadi
ebe8711a21 Better error recover when there is an unterminated expression before a declaration. 2014-11-30 22:28:17 -08:00
Cyrus Najmabadi
db2bf0a309 Address issue where we were having to double cast between FunctionLikeDeclaration and Expression types.
Provide brands in a few more places.  Anywhere where we have a type that extends another, but only adds
optional properties, we should consider brands.

Stop SignatureDeclarations from being ClassElements.  Instead, only IndexSignatureDeclaration is
considered to be a ClassElement.
2014-11-30 21:46:39 -08:00
Cyrus Najmabadi
7cc65ca73e Simplify the emitter. 2014-11-30 21:22:23 -08:00
Cyrus Najmabadi
aed8404b7d Simplify emitter. 2014-11-30 21:18:31 -08:00
Cyrus Najmabadi
e80d772579 Change function names. 2014-11-30 21:14:11 -08:00
Cyrus Najmabadi
97460a1977 Simplify code. 2014-11-30 21:07:47 -08:00
Cyrus Najmabadi
0fbfda1572 Merge branch 'master' into expressionCleanup 2014-11-30 20:14:02 -08:00
Cyrus Najmabadi
a766df9ed1 Tighten the bounds on an 'await' expression.
Share common helper code when parsing the right side of a dot.

Conflicts:
	src/services/syntax/SyntaxGenerator.js.map
2014-11-30 19:59:40 -08:00
Cyrus Najmabadi
ca396779e3 Rename MemberAccess to PropertyAccess.
Conflicts:
	src/services/syntax/SyntaxGenerator.js.map
2014-11-30 19:58:27 -08:00
Cyrus Najmabadi
632591d305 Rename some kinds to match new parser.
Conflicts:
	src/services/syntax/SyntaxGenerator.js.map
2014-11-30 19:58:00 -08:00
Cyrus Najmabadi
3c028f03e1 Tighten types in the expression AST. 2014-11-30 19:51:42 -08:00
Cyrus Najmabadi
f057d4efd8 CR feedback. 2014-11-30 19:23:06 -08:00
Cyrus Najmabadi
092475166c Remove unnecessary tokens from the AST. 2014-11-30 15:54:39 -08:00
Cyrus Najmabadi
16e28156e5 Support arbitrary numbers of implements and extends clauses (with arbitrary numbers of types) for classes and interfaces.
This vastly improves our error tolerance and messages for when the user writes an illegal heritage clause sequence.
2014-11-30 15:38:45 -08:00
Cyrus Najmabadi
5f15355372 Use brands for Class Elements. 2014-11-30 14:28:32 -08:00
Cyrus Najmabadi
0cdc824079 Provide brands for Declarations. 2014-11-30 14:21:34 -08:00
Cyrus Najmabadi
54bd524c90 Provide brands for statements.
Introduce a ModuleElement type to provide more clear typesafety.
2014-11-30 14:06:15 -08:00
Mohamed Hegazy
d1bf508a7b Merge pull request #1252 from DickvdBrink/emptyFile
Remove empty file
2014-11-30 00:42:10 -08:00
Cyrus Najmabadi
5f00c7cdbc Change the names for property access and qualified names to match their types. 2014-11-29 17:25:52 -08:00
Cyrus Najmabadi
da08a6ea1a Make the distinction between PropertyAccessExpressions and QualifiedNames more explicit. 2014-11-29 17:06:55 -08:00
Cyrus Najmabadi
38a5ba05aa Add a comment explaining what Brands are used for. 2014-11-29 16:55:42 -08:00
Cyrus Najmabadi
8989f1a782 Add greater typesafety in the expression portion of the syntax system.
Note: this change reveals that there is definitely some wonkyness going on
with nodes like FunctionLikeDeclaration.
2014-11-29 16:48:28 -08:00
Cyrus Najmabadi
e4b543981c Updating syntax kind names. 2014-11-29 15:58:55 -08:00
Cyrus Najmabadi
1d61ac5d5f Renaming syntax elements. 2014-11-29 15:52:46 -08:00
Cyrus Najmabadi
e1011aa2f0 Rename syntax properties to match Roslyn/Fidelity naming. 2014-11-29 15:47:02 -08:00
Cyrus Najmabadi
7152d37ea2 Rename 'CastExpression' to 'TypeAssertionExpression'.
Conflicts:
	src/services/syntax/SyntaxGenerator.js.map
2014-11-29 15:32:09 -08:00
Cyrus Najmabadi
ac5e9b6c88 Simplify the parser by removing the need for the 'force' parameter. 2014-11-29 15:09:57 -08:00
Cyrus Najmabadi
b1f49c44f9 Simplify parser. 2014-11-29 15:07:10 -08:00
Cyrus Najmabadi
13f319b6ec Add a lot of clarifying comments in the parser.
Simplify parser and avoid the need to pass around 'inNewExpression' information.

Make error span smaller for "new Foo[]" errors.
2014-11-29 14:51:25 -08:00
Cyrus Najmabadi
6a4927cef7 Provide unique nodes for void/typeof/delete expressions. 2014-11-29 13:43:30 -08:00
Cyrus Najmabadi
e37f4cec36 Add clarifying comments to parsing binary expressions. 2014-11-29 13:07:30 -08:00
Cyrus Najmabadi
114987eef1 Rename method, also remove unnecessary loop when parsing conditional expressions. 2014-11-29 12:51:06 -08:00
CyrusNajmabadi
e70005b583 Merge pull request #1273 from Microsoft/asyncAwaitFidelity
Update fidelity to support all the latest language constructs (const enums, let/const, type aliases, etc).
2014-11-28 18:51:06 -08:00
Cyrus Najmabadi
aa91aa7f44 Remove IndexMemberDeclaration, we can just use IndexSignature instead.
Conflicts:
	src/services/syntax/SyntaxGenerator.js.map
2014-11-28 14:39:30 -08:00