Commit graph

396 commits

Author SHA1 Message Date
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
jbondc ab51f3069a Missing reference for getModuleInstanceState() 2014-12-05 07:18:23 -05:00
Anders Hejlsberg b49e2772ea Addressing CR feedback 2014-12-04 17:43:15 -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 22d7aed980 CR feedback. 2014-12-03 15:27:14 -08:00
Cyrus Najmabadi d5ef6226da Emit FunctionPropertyAssignments in their native form when emitting in ES6 mode. 2014-12-03 02:09:15 -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
Anders Hejlsberg 0731a28978 Support exported destructuring variable declarations
Support .d.ts generation for functions with destructuring parameters
2014-12-02 15:52:29 -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
Yui T ff3d64f83c Address codereview 2014-12-02 14:41:54 -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
Anders Hejlsberg 7994e9013c Emit for destructuring parameter declarations 2014-12-02 12:51:44 -08:00
Anders Hejlsberg 9e639113f8 Emit for destructuring assignments 2014-12-02 11:39:04 -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 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 cc1da37e72 Use a single member to represent a module reference. 2014-12-01 13:24:33 -08:00
Yui T 7ec49fd80e Merge branch 'master' into binaryIntegerLiteral
Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/compiler/emitter.ts
	tests/baselines/reference/objectTypesWithOptionalProperties.errors.txt
2014-12-01 11:22:37 -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 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 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
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 6a4927cef7 Provide unique nodes for void/typeof/delete expressions. 2014-11-29 13:43:30 -08:00
Anders Hejlsberg 28a73bc936 Emit of rest parameter for loop uses unique temporary variable name 2014-11-28 18:25:27 -08:00
Anders Hejlsberg cf3e3ac6b8 Rewriting and emit for destructuring declarations 2014-11-28 10:13:52 -08:00
Jason Freeman 02dc56946e Merge branch 'master' into computedProperties 2014-11-26 20:12:04 -08:00
Cyrus Najmabadi 498a3274b8 Emit modules that contain only const enums, if the preserveConstEnum flag is provided. 2014-11-26 01:07:36 -08:00
Jason Freeman 17a09d1d36 Emit for computed properties 2014-11-25 16:08:55 -08:00
Yui T e429bd9ba0 Merge branch 'refactorEmitter' of https://github.com/Microsoft/TypeScript into refactorEmitter
Conflicts:
	src/compiler/emitter.ts
2014-11-25 12:22:10 -08:00
Yui T b550383143 Refactoring emitter for emit ES6 features natively 2014-11-25 12:18:15 -08:00
Yui T 460fc037e6 Refactoring emitter for emit ES6 features natively 2014-11-25 12:12:55 -08:00
Yui T 169bc219f2 Merge branch 'binaryIntegerLiteral' of https://github.com/Microsoft/TypeScript into binaryIntegerLiteral 2014-11-24 18:38:03 -08:00
Yui T 30d58dd220 Address code review 2014-11-24 18:36:07 -08:00
Yui T a580040863 Address code review 2014-11-24 14:36:05 -08:00
Yui T d04a3c7c23 Add comment 2014-11-23 18:19:10 -08:00
Anders Hejlsberg 6b96386337 Allow string or numeric literal as property name of object binding
Require RHS of array destructuring to be an actual array type (i.e. assignable to any[])
Tighten test for tuple type (previously just required a "0" property)
2014-11-22 15:38:20 -08:00
Yui T 670a8c0a76 Binary and octal integer literal support 2014-11-21 18:09:50 -08:00
Anders Hejlsberg 38a2640053 Propagate node kind in variable/parameter destructuring declarations 2014-11-21 16:50:44 -08:00
Sheetal Nandi 28c41e869a Merge branch 'master' into constLet 2014-11-20 21:06:08 -08:00
Sheetal Nandi e101c2783c Merge branch 'release-1.3' 2014-11-20 20:32:36 -08:00
Sheetal Nandi 77572dab0c Merge remote-tracking branch release-1.3 2014-11-20 20:24:08 -08:00
Sheetal Nandi 0762e55286 Merge branch 'master' into constLet 2014-11-20 17:27:39 -08:00
Sheetal Nandi 763a1143ab Merge pull request #1122 from Microsoft/useTypeAnnotationInDeclarationsEmitter
Use type annotation in declarations emitter
2014-11-20 16:58:38 -08:00
Sheetal Nandi 4320c67a38 Merge branch 'master' into constLet 2014-11-20 16:56:14 -08:00
Sheetal Nandi b7600006fb Write constructor type and function type annotation to adapt to new SyntaxKind introduced 2014-11-20 16:38:57 -08:00
Sheetal Nandi f44d0c07d4 Merge branch 'master' into useTypeAnnotationInDeclarationsEmitter 2014-11-20 16:10:14 -08:00
Sheetal Nandi ff23748908 Merge pull request #1131 from Microsoft/relativePathReferenceResolution
Fix the relative path reference resolution
2014-11-20 15:59:06 -08:00
Anders Hejlsberg 58c3c2faae Merge branch 'master' into destructuring
Conflicts:
	src/compiler/binder.ts
	src/compiler/checker.ts
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
2014-11-20 14:31:55 -08:00
Cyrus Najmabadi 6865265b45 Merge branch 'master' into grammarChecks 2014-11-20 13:07:45 -08:00
Daniel Rosenwasser 8d4e9064d0 Addressed CR feedback. 2014-11-19 22:11:17 -08:00
Cyrus Najmabadi f605699604 Merge branch 'master' into grammarChecks
Conflicts:
	src/compiler/diagnosticMessages.json
	src/compiler/parser.ts
	tests/baselines/reference/objectTypesWithOptionalProperties.errors.txt
2014-11-19 17:29:39 -08:00
Daniel Rosenwasser f51a42c6de Fixed issue where template expression in call expressions would emit with unnecessary parentheses.
Fixes #1205.
2014-11-19 17:04:34 -08:00
Sheetal Nandi 264bd5db7c Merge branch 'master' into relativePathReferenceResolution 2014-11-19 13:11:17 -08:00
Cyrus Najmabadi 9170962998 Move declaration list checking to the grammar checks. 2014-11-19 02:11:17 -08:00
Yui T df54db758a Merge branch 'master' into usingShorthand
Conflicts:
	bin/tsc.js
	bin/typescriptServices.js
	src/compiler/parser.ts
2014-11-18 18:25:51 -08:00
Yui T 970aac6458 Address code review 2014-11-18 16:32:18 -08:00
Mohamed Hegazy 22e2bde7e9 Merge pull request #1158 from gisenberg/master
Adding support for named AMD modules.
2014-11-18 12:18:48 -08:00
Yui T 26a5e4333e Refactoring emitter using short-hand 2014-11-18 12:04:18 -08:00
Yui T 1b66ee6f3a Merge branch 'master' into shorthandProperty
Conflicts:
	src/compiler/checker.ts
2014-11-17 11:35:02 -08:00
Dick van den Brink e7bb2e0ba7 Merge branch 'master' into warnaserror
Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/compiler/types.ts
	src/harness/harness.ts
2014-11-16 22:02:00 +01:00
Yui T 880e958d11 Fix comment 2014-11-14 16:30:03 -08:00
Yui T a8ebdf0cbd Address code review 2014-11-13 12:02:13 -08:00
Yui T 1888f736e1 Fix emit for shotr-hand assignment for module 2014-11-13 11:33:31 -08:00
Gabriel Isenberg 843d3ec7ca Added a compiler test for named AMD modules. 2014-11-13 11:00:06 -08:00
Sheetal Nandi 5e94f4a5c2 Code review feedback 2014-11-12 15:40:45 -08:00
Gabriel Isenberg 2302bd23ab Initial support for named AMD modules. 2014-11-12 11:45:43 -08:00
Sheetal Nandi 63a20863c1 Fix the relative path reference resolution
Fixes #1039
2014-11-11 23:06:45 -08:00
Sheetal Nandi 60f79da623 Show error for visibility only on the identifier resulting the error 2014-11-10 18:50:28 -08:00
Sheetal Nandi c7bd7c9557 Remove unnecessary privacy errors for heritage and constraint type annotation 2014-11-10 18:34:59 -08:00
Sheetal Nandi d6fb678222 Test cases for type alias declaration emit and privacy check.
Also removed the unnecessary error messages for type alias privacy check
2014-11-10 18:28:05 -08:00
Sheetal Nandi ffdb0fc45d Show error about entity name visibility on entity name resulting in the error 2014-11-10 17:01:17 -08:00
Sheetal Nandi 9ba4d37d7b Emit the type annotation as it is in the declaration file if we have it 2014-11-10 17:01:05 -08:00
Anders Hejlsberg af00c718cc End-to-end support for destructuring in variable declarations 2014-11-10 13:05:47 -08:00
Vladimir Matveev 89dee07bf2 merge with master 2014-11-09 23:23:49 -08:00
Yui T 8a779e1e85 Basic typechecking and emitting for short hand property assignment
Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/emitter.ts
2014-11-06 15:01:39 -08:00
Jason Freeman 279166be50 Address feedback 2014-11-06 11:51:49 -08:00
Jason Freeman 6c85dbe140 Refactor Declaration.name into Identifier | ComputedPropertyName 2014-11-05 17:47:30 -08:00
Vladimir Matveev edbb99d959 merge with master 2014-11-05 17:34:42 -08:00
vladima 9295a0e357 update LKG, always emit value as initializer for const enums when 'preserveConstEnums' is specified 2014-11-04 11:26:01 -08:00
Vladimir Matveev a8e5aad6e8 use const enums in compiler 2014-11-03 23:31:38 -08:00
Cyrus Najmabadi ecd31b6f6f Emit case clause statements on the same line if that's how they were written in source. 2014-11-03 18:36:01 -08:00
Vladimir Matveev 2d94030f58 inline enum constant values for indexed access when index is string literal 2014-11-01 18:16:48 -07:00
Vladimir Matveev 0b738e86c4 merge with master 2014-11-01 02:06:37 -07:00
Vladimir Matveev 7d80b7186d do not treat module that contains only const enums as instantiated 2014-11-01 00:56:00 -07:00
Vladimir Matveev 270d18711c addressed CR feedback 2014-10-30 00:55:44 -07:00
Vladimir Matveev e949eda583 const enums, iteration 1: const enums can be used in imports, const enums can be merged only with const enums. 2014-10-29 00:17:16 -07:00
Vladimir Matveev 6f4ea86227 merge with master 2014-10-28 21:49:58 -07:00
Daniel Rosenwasser 35cf95c146 Merge branch 'master' into templates
Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/compiler/types.ts
	src/services/utilities.ts
2014-10-28 19:06:07 -07:00
Daniel Rosenwasser b8535d339c Omit empty template tail literals. 2014-10-28 18:47:43 -07:00
Daniel Rosenwasser aabfebd40e Fixed emit for parenthesized template expressions. 2014-10-28 18:47:29 -07:00
Daniel Rosenwasser 4aafe1d2bc Addressed CR feedback. 2014-10-28 18:44:07 -07:00
Dick van den Brink e4f57569b7 addressed feedback 2014-10-28 19:45:18 +01:00
Vladimir Matveev 2dd9511b0a 'const enum' iteration 0. TODO: allow and track const enums in imports, add more tests 2014-10-27 23:56:07 -07:00
Anders Hejlsberg 7f9c9b6825 Support for type aliases in .d.ts generation 2014-10-25 10:48:02 -07:00
Vladimir Matveev 622b7613f7 merge with master 2014-10-24 15:44:12 -07:00
Daniel Rosenwasser e7096280b4 Added support for tagged template strings, updated baselines.
Still need to implement some error recovery and add tests.
2014-10-23 16:54:11 -07:00
Daniel Rosenwasser b704f19502 Merge branch 'letAndConst' into templates
Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
2014-10-23 16:03:53 -07:00
Daniel Rosenwasser 518a5d3a48 Rudimentary template support, excluding tagging. 2014-10-23 14:57:47 -07:00
Sheetal Nandi 2e36faed28 Fix the crash in declaration file emit when alias is used before its declaration
Fixes #938
2014-10-22 10:23:15 -07:00
Mohamed Hegazy dd7ca69866 Create a new flag for diagnostics 'isEarly' and disable emit if this flag is set. Set the flag by default on all let and const errors to ensure we are not emitting invalid JS code. 2014-10-20 17:38:50 -07:00
Mohamed Hegazy 0e7d8b62ef Merge branch 'master' into letAndConst 2014-10-20 13:34:06 -07:00
Anders Hejlsberg 81eaae0afa Require optional properties to be present in subtypes
Remove unused getBestCommonType method (unrelated change)
2014-10-19 16:43:32 -07:00
Mohamed Hegazy e15f4e6d34 Merge branch 'master' into letAndConst
Conflicts:
	src/compiler/types.ts
2014-10-16 09:30:58 -07:00
Mohamed Hegazy 61549239d8 Fix emitting for const in for loops 2014-10-15 09:20:46 -07:00
Vladimir Matveev b6b80817f4 initial revision of formatting 2014-10-14 14:44:38 -07:00
Yui T ac68f93189 Addres code review 2014-10-14 12:16:26 -07:00
Yui T 848bfe7160 Update language service to use getDeclarationDiagnostics instead of emitFile to get declaration errors 2014-10-13 12:41:26 -07:00
Sheetal Nandi a934d50a9b Move symbolDisplayPartKind to services side 2014-10-13 12:35:17 -07:00
Yui T cc48fc3efd Refactoring parameters formatting 2014-10-13 11:27:07 -07:00
Mohamed Hegazy 778f101dea Add basic parsing support for let and const 2014-10-12 21:10:04 -07:00
Yui T fee4343218 Refactoring emitDeclaration, separate emitDeclaration from emitFiles 2014-10-10 16:44:14 -07:00
Yui T 00c30a3ed7 Merge branch 'master' into fixThrowExceptionOnEmitFile 2014-10-09 14:36:48 -07:00
Yui T 3cb6c9cf45 Add isDeclarationFile and update similar all usage 2014-10-09 14:19:36 -07:00
Yui T ab5f0241eb Fix comments 2014-10-09 10:12:49 -07:00
Sheetal Nandi 58cfc985b9 Merge branch 'master' into symbolInfoFormatting 2014-10-08 18:25:42 -07:00
Yui T 90ed17b21e Fix formatting 2014-10-08 18:18:41 -07:00
Yui T 67eff65e03 Add more test cases 2014-10-08 18:15:07 -07:00
Yui T b90c5f2ca4 Address code review 2014-10-08 10:26:39 -07:00
Yui T 96cdc4f163 Fix throwing exception from emitFile 2014-10-07 21:41:04 -07:00
Yui T 530a5c0650 Merge branch 'master' into getEmitOutputExternalModule 2014-10-07 13:21:19 -07:00
Yui T 7d725037b3 Address code review 2014-10-07 13:20:06 -07:00
Yui T d345d228a7 Fix spelling 2014-10-07 10:17:29 -07:00
Yui T be02f962c7 Fix compileOnSave with external module 2014-10-06 18:34:01 -07:00
Sheetal Nandi 2de4ad0335 Merge pull request #818 from Microsoft/sourceMapRelativeDirName
Fixes incorrect path resolution of sources to sourcemap when the directory paths differ in only case
2014-10-06 11:48:10 -07:00
Daniel Rosenwasser c1d15c792b Merge branch 'master' into navbar
Also fixed getSourceText and renamed it to getTextOfNode
2014-10-03 17:44:52 -07:00
Daniel Rosenwasser 7d9bf5093b Replaced 'getModuleNameFromFilename' with 'removeFileExtension'. 2014-10-03 16:21:15 -07:00
Sheetal Nandi 710bac6d81 Fix the source map directory resolution with non case sensitive file names 2014-10-03 15:10:12 -07:00
Sheetal Nandi 90e2c362a5 Move the symbol classification and display parts writing to the Services and format the newlines correctly 2014-09-30 17:08:59 -07:00
Daniel Rosenwasser 5851752e32 Merge branch 'master' into navbar
Conflicts:
	Jakefile
	src/services/getScriptLexicalStructureWalker.ts
	src/services/services.ts
2014-09-30 14:20:58 -07:00
Yui T dc8a5f8b15 Address code review 2014-09-25 13:58:01 -07:00
Daniel Rosenwasser a98cca7723 Properly support string-literal property names and escape external module names. 2014-09-25 13:10:04 -07:00
Yui T 71a54fbbb6 Remove default setting of noResolve flag 2014-09-25 11:47:41 -07:00
Jason Freeman 22e989795d Merge branch 'master' into sigHelp
Conflicts:
	src/compiler/checker.ts
	src/compiler/types.ts
	src/services/services.ts
2014-09-24 10:47:41 -07:00