Commit Graph

350 Commits

Author SHA1 Message Date
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
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
cc83925f32 Also split out .PropertyDeclaration and .PropertySignature from .Property. 2014-12-08 16:37:35 -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
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
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
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
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
Sheetal Nandi
c3c44dc3c8 Some renaming and added comments as per feedback 2014-12-04 12:55:54 -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
Anders Hejlsberg
816abb19e4 Merge branch 'master' into destructuring
Conflicts:
	src/compiler/checker.ts
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/compiler/emitter.ts
	src/compiler/parser.ts
	src/compiler/types.ts
	src/services/navigationBar.ts
	tests/baselines/reference/assignmentLHSIsValue.errors.txt
	tests/baselines/reference/objectTypesWithOptionalProperties.errors.txt
	tests/baselines/reference/parserErrorRecovery_ParameterList2.errors.txt
2014-12-03 16:43:01 -08:00
Cyrus Najmabadi
158cf62206 More CR feedback. 2014-12-03 15:36:39 -08:00
Cyrus Najmabadi
22d7aed980 CR feedback. 2014-12-03 15:27:14 -08:00
Sheetal Nandi
1939c7f2cd Fix the getSymbolInfo and getTypeOfNode entry points to resolve the context sensitive information before resolving the actual node 2014-12-03 14:47:13 -08:00
Sheetal Nandi
c40e0f6738 Fixes the quickInfo when hovering over var inside the context sensitive expression
Handles #1165
2014-12-03 14:00:58 -08:00
Cyrus Najmabadi
0900005438 Don't rewrite function property assignments in the AST. 2014-12-03 01:46:04 -08:00
Cyrus Najmabadi
ed81cad39a Remove the 'FunctionBlock' ast kind.
We don't want different AST forms for identical syntactic constructs ('Block' and 'FunctionBock').
This prevents reuse in incremental scenarios and forces the incremental parser to know when to
change between the two.
2014-12-02 22:52:21 -08:00
Cyrus Najmabadi
a8badd921e Update the name of 'PropertyAssignment' to 'LonghandPropertyAssignment'.
'PropertyAssignment' is now the name of the super interface brand we use for all thigns that can
be members of an object literal.
2014-12-02 22:01:52 -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
c53f3f5868 Merge branch 'master' into refactorEmitter 2014-12-02 15:31:35 -08:00
Vladimir Matveev
76e8560b0e fix crash in signature help 2014-12-02 15:04:44 -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
Mohamed Hegazy
cf1f6406bb Merge pull request #1332 from Microsoft/getEmitOutputCleanup
Ensure getEmitOutput only check the file requested
2014-12-02 13:21:13 -08:00
Cyrus Najmabadi
03a2d0197b Make 'CatchClause' have-a block, instead of be-a block. 2014-12-01 23:21:27 -08:00
Mohamed Hegazy
08165c0b17 Ensure getEmitOutput only check the file requested 2014-12-01 23:15:13 -08:00
Cyrus Najmabadi
44627f859f Simplify parsing code. 2014-12-01 22:50: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
Mohamed Hegazy
4e79458e69 Merge branch 'master' into es6typings
Conflicts:
	tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types
2014-12-01 16:51:10 -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
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
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
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
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
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
3c028f03e1 Tighten types in the expression AST. 2014-11-30 19:51:42 -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
Cyrus Najmabadi
5f00c7cdbc Change the names for property access and qualified names to match their types. 2014-11-29 17:25:52 -08:00