Commit Graph
459 Commits
Author SHA1 Message Date
Cyrus Najmabadi f520129e2c Simplify arrow function expression parsing.
Reduce allocations by avoiding the need for a superfluous 'ParsedSignature'.
2014-12-02 19:04:51 -08:00
Cyrus Najmabadi 5a7500ca5e Add a dedicated 'EndOfFile' token to a SourceFile.
This is important for incremental parsing, as it is where we can attach parse errors at the end of
the file to.  Also, it helps with things like emitting comments at the end of the file.
2014-12-02 16:09:41 -08:00
CyrusNajmabadi 6e945afdf5 Merge pull request #1343 from Microsoft/parserWork
Extract reference comments out into their own diagnostics array.
2014-12-02 16:05:07 -08:00
Yui T 1f6192578e Merge branch 'master' into refactorEmitter
Conflicts:
	src/compiler/emitter.ts
	src/compiler/parser.ts
	src/compiler/types.ts
2014-12-02 14:55:30 -08:00
Cyrus Najmabadi 90bf48f2d4 Extract reference comments out into their own diagnostics array.
Only actual parse errors are stored in parseDiagnostics.  Reference errors are stored in a separate
array now.
2014-12-02 14:49:34 -08:00
Cyrus Najmabadi a6fe980d19 Add explanatory comment.
Reduce function allocations in the parser.
2014-12-02 13:54:44 -08:00
Cyrus Najmabadi deca94427c Reduce arrow function allocations in the parser. 2014-12-02 00:02:15 -08:00
Cyrus Najmabadi 581ef9f2b0 Remove arrow allocations from the parser in a few places. 2014-12-01 23:39:44 -08:00
Cyrus Najmabadi 03a2d0197b Make 'CatchClause' have-a block, instead of be-a block. 2014-12-01 23:21:27 -08:00
Cyrus Najmabadi 44627f859f Simplify parsing code. 2014-12-01 22:50:03 -08:00
Cyrus Najmabadi b5c3cd8d4a Simplify code. 2014-12-01 22:39:10 -08:00
Cyrus Najmabadi af62715e8d Use helper function.
Rename some functions to be clearer.
2014-12-01 22:30:22 -08:00
Cyrus Najmabadi 2459632a62 Simplifying the signature parsing code. 2014-12-01 22:20:03 -08:00
Cyrus Najmabadi db89584a86 Put semantically relevant tokens in the tree. 2014-12-01 22:03:41 -08:00
Cyrus Najmabadi 8ad4a0a5b8 Traverse into all nodes when walking the tree. 2014-12-01 20:45:29 -08:00
Cyrus Najmabadi f8a4fb0a15 Put semantically relevant tokens in the tree. 2014-12-01 19:19:50 -08:00
Cyrus Najmabadi a29862eea5 Provide greater type safety in the ast system. 2014-12-01 18:49:57 -08:00
Cyrus Najmabadi f8f314868b Merge branch 'master' into lessDirectCallsToError
Conflicts:
	src/compiler/checker.ts
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
2014-12-01 17:42:59 -08:00
Cyrus Najmabadi df4f9044d9 Make sure we have an appropriate error for heritage clause lists. 2014-12-01 17:07:13 -08:00
Mohamed Hegazy 4e79458e69 Merge branch 'master' into es6typings
Conflicts:
	tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types
2014-12-01 16:51:10 -08:00
Cyrus Najmabadi ae3b030223 Don't set kinds after the fact. 2014-12-01 16:39:22 -08:00
Cyrus Najmabadi 9b54a0b54f Don't use the parsing error path for reporting ///reference errors. 2014-12-01 16:34:03 -08:00
Cyrus Najmabadi 1633e4abdd Remove unnecessary diagnostic flag. 2014-12-01 16:26:34 -08:00
Cyrus Najmabadi d730e5ca55 Remove 'missing' syntax kind. 2014-12-01 16:17:04 -08:00
Cyrus Najmabadi af7b8d624f Don't explicitly create a missing node when parsing arrow expressions. 2014-12-01 14:44:58 -08:00
Cyrus Najmabadi 284e136f2a Remove unused function. 2014-12-01 14:23:08 -08:00
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
Mohamed Hegazy 199b71c2ce Merge branch 'master' into es6Typings 2014-12-01 13:22:20 -08:00
Daniel Rosenwasser 9da7287eaa Merge pull request #1275 from Microsoft/unterminator
Keep track of unterminated literal expressions.
2014-12-01 12:57: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 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 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 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