Commit graph

279 commits

Author SHA1 Message Date
Yui T 907d1d001b Move grammar checking: callExpression, newExpression 2014-12-11 12:07:01 -08:00
Yui T 547e1296f8 Move grammar checking: Arrow function 2014-12-10 21:52:18 -08:00
Cyrus Najmabadi fc27f72324 Understand and handle modifiers on function declarations and variable statements within blocks.
This ensures reusability for functions/variables that may have been outside a block, but end up
inside one afterwards.  It also ensure the same tree is produced when incremental parsing.

i.e.  if you have:

declare function F() { }

And you add a { above it, then we current have an incremental parsing bug.  Namely we would see
a FunctionDeclaration node and say 'yes, we can reuse that node while parsing the block'.  This
is currently broken because the normal parse would not have normally accepted such a node (because
of the modifiers).

This was an example of contextual parsing of the same kind of node.  Something which we do not
want to do if we want incremental parsing to work properly.
2014-12-10 18:52:56 -08:00
Yui T 16693316e5 Add isEarly flag into error from grammar checking 2014-12-10 18:34:38 -08:00
Mohamed Hegazy d2c7c01ff3 Respond to code review commments 2014-12-10 17:51:14 -08:00
Yui T 03f9203a42 Move grammar checking: tuple type 2014-12-10 12:42:34 -08:00
Mohamed Hegazy b0574cbdf9 Respond to code review comments 2014-12-10 12:37:09 -08:00
Yui T 2c575dae27 Move grammar checking: type parameters 2014-12-09 16:33:20 -08:00
Mohamed Hegazy 0a1eabc9aa Add new compiler flag to suppress noImplicitAny errors for object access 2014-12-09 14:08:44 -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 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
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 94febee138 Don't create errors directly when parsing template spans. 2014-12-01 00:52:52 -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 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
Anders Hejlsberg ec7ce72c94 Removing unused diagnostics related to '_i' variable name 2014-11-28 18:32:51 -08:00
Jason Freeman 1a8816f459 Address feedback 2014-11-26 20:10:49 -08:00
Jason Freeman 2bc1f4f4fa Update error codes 2014-11-25 16:09:03 -08:00
Jason Freeman 98eda2bf5c Syntax error for computed properties on method overloads 2014-11-25 16:09:00 -08:00
Jason Freeman 9d5c86a11d Add grammar errors for computed property names 2014-11-25 16:08:50 -08:00
Cyrus Najmabadi 5b539f0636 Report errors for using yield/generators right now. 2014-11-25 12:16:31 -08:00
Cyrus Najmabadi 7e1a62a8c2 Add support for parsing generator functions and yield expressions. 2014-11-24 22:40:28 -08:00
Yui T 30d58dd220 Address code review 2014-11-24 18:36:07 -08:00
Anders Hejlsberg 8ed1f24e57 Fine tuning array and tuple type checks in destructuring 2014-11-23 08:12:30 -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
Sheetal Nandi f44d0c07d4 Merge branch 'master' into useTypeAnnotationInDeclarationsEmitter 2014-11-20 16:10:14 -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
Anders Hejlsberg 2ed5f418a1 Destructuring of tuple type cannot specify extra variables 2014-11-20 13:45:55 -08:00
Cyrus Najmabadi 2b189b035a Revert changes to resources. 2014-11-20 13:36:43 -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
Cyrus Najmabadi cd75243d83 Move optional property checking to the grammar checker. 2014-11-19 15:00:45 -08:00
Yui T 49c8e83616 Merge branch 'master' into fixParsingShorthand 2014-11-19 13:24:22 -08:00
Yui T acac08147b Address code review 2014-11-19 12:28:06 -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
Gabriel Isenberg b54143c326 Added an error condition for multiple AMD module name assignments. 2014-11-18 11:26:44 -08:00
Cyrus Najmabadi 886feda759 Update the new scanner to follow the new regex scanning rules. 2014-11-17 18:33:10 -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 a8ebdf0cbd Address code review 2014-11-13 12:02:13 -08:00
Anders Hejlsberg a6401bb3ce Adding destructuring variable declaration error messages 2014-11-12 12:03:04 -08:00
Anders Hejlsberg bd65f16e06 Parser errors for destructuring declarations 2014-11-11 09:24:49 -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
Anders Hejlsberg 2d3752ea24 Merge branch 'master' into destructuring 2014-11-06 15:07:08 -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
Daniel Rosenwasser e12e31b144 Removed duplicate diagnostic. 2014-11-05 12:26:03 -08:00
Anders Hejlsberg 86f290fbb9 Initial parser support for destructuring patterns 2014-11-05 06:21:58 -08:00
Vladimir Matveev f801ec1d17 Merge pull request #970 from Microsoft/fold_computed_enum_members
Const enums, resolves #1029
2014-11-03 14:10:38 -08:00
vladima 4d354c0286 addressed CR feedback: adjusted text of error messages, added description to 'preserveConstEnums' command line argument 2014-11-03 11:13:32 -08:00
Anders Hejlsberg 538e7ea3d3 Type alias cannot have reserved type name (#1030) 2014-11-02 07:01:03 -08:00
Anders Hejlsberg 07a3d7d564 Merge branch 'master' into aliasObjectTypeLiterals 2014-11-01 14:58:31 -07:00
Anders Hejlsberg bd07cee953 Allow type aliases for object type literals 2014-11-01 07:38:46 -07:00
Vladimir Matveev 0b738e86c4 merge with master 2014-11-01 02:06:37 -07:00
Vladimir Matveev ac54fbfa46 set 'earlyError' bit to 'non-constant expression in constant enum initializer' error 2014-10-30 23:05:18 -07:00
Vladimir Matveev 270d18711c addressed CR feedback 2014-10-30 00:55:44 -07:00
Vladimir Matveev 4aa4ea75d1 allow arithmetic operations in constant expressions, handle infinity\NaN results 2014-10-29 23:21:30 -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 d522c88295 Merge branch 'master' into templates
Conflicts:
	src/compiler/checker.ts
	src/services/services.ts
2014-10-28 18:49:35 -07:00
Anders Hejlsberg 43ff75afae Merge branch 'master' into typeAliases 2014-10-28 13:31:19 -07:00
Dick van den Brink e4f57569b7 addressed feedback 2014-10-28 19:45:18 +01:00
Daniel Rosenwasser 6e77e2e810 Removed colons from diagnostic messages.
Also got rid of the 'terminalMessages' concept.
2014-10-28 00:48:58 -07: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
Vladimir Matveev 329d6e2f13 merge with master 2014-10-27 21:13:34 -07:00
Anders Hejlsberg a32521de12 Making it an error to alias an object type literal 2014-10-27 16:53:21 -07:00
Dick van den Brink bd2c5965f5 Changed name to noEmitOnError 2014-10-27 20:48:46 +01:00
Dick van den Brink 417555c9e9 implemented treat warning as errors commandline option (warnaserror). 2014-10-26 14:53:26 +01:00
Vladimir Matveev 97460f5123 handle non-qualified names, add 'propagateEnumConstants' command line option 2014-10-25 17:26:24 -07:00
Anders Hejlsberg 7f9c9b6825 Support for type aliases in .d.ts generation 2014-10-25 10:48:02 -07:00
Jason Freeman bfb63df568 Merge branch 'master' into overloadResolution
Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
2014-10-24 16:36:42 -07:00
Jason Freeman 9865e09fb7 Report type argument inference errors on specific candidates 2014-10-24 13:51:19 -07:00
Anders Hejlsberg 9ff3eacee5 Merge branch 'master' into typeAliases 2014-10-24 13:15:52 -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
Anders Hejlsberg 8f29661e01 Implementation of Type Aliases in compiler core 2014-10-23 14:30:43 -07:00
Jason Freeman 47bded060e Specify error message for type argument inference failing 2014-10-22 15:08:18 -07:00
Jason Freeman 44f1ab07bf Give different errors for different overload resolution issues 2014-10-22 15:08:14 -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 dd5c89d5cf Update error messages 2014-10-20 13:48:22 -07:00
Mohamed Hegazy a5a6c6f242 Allow const and let declarations to be exported in modules. Also ensure that const module elements are not used as references. 2014-10-17 15:15:22 -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 03a100d039 Do not allow let and const declarations to be exported from a module 2014-10-15 09:15:00 -07:00
Mohamed Hegazy 3e4560147b Allow const in for statements 2014-10-14 17:37:46 -07:00
Mohamed Hegazy 82f5fb4055 Flag const declarations shodowed by var redeclarations 2014-10-14 17:15:11 -07:00
Mohamed Hegazy f5c2740093 Flag assignments to a const 2014-10-14 16:52:12 -07:00
Mohamed Hegazy 1dde985f1d Do not allow use of block-scoped variable before its definition 2014-10-13 22:19:19 -07:00
Anders Hejlsberg fc842b177e Merge branch 'master' into unionTypes
Conflicts:
	src/compiler/checker.ts
	src/compiler/types.ts
	src/services/services.ts
	tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt
	tests/baselines/reference/bestCommonTypeOfTuple.types
	tests/baselines/reference/bestCommonTypeOfTuple2.types
	tests/baselines/reference/castingTuple.errors.txt
	tests/baselines/reference/contextualTypeWithTuple.errors.txt
	tests/baselines/reference/genericCallWithTupleType.errors.txt
	tests/baselines/reference/indexerWithTuple.types
	tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.errors.txt
2014-10-13 12:37:34 -07:00
Mohamed Hegazy 979d45eb67 Disallow let and const declarations outside blocks 2014-10-12 21:43:09 -07:00
Mohamed Hegazy 778f101dea Add basic parsing support for let and const 2014-10-12 21:10:04 -07:00
Mohamed Hegazy 873c1df74b Add es6 target 2014-10-11 12:52:42 -07:00
Chris Bubernak 16f91b1ef3 fixed error message and updated necessary baselines 2014-10-08 17:23:16 -07:00
Anders Hejlsberg ea4cbbee4e Merge branch 'master' into unionTypes 2014-10-08 15:23:37 -07:00
Chris Bubernak cbfbae94fd Added a message & a check for numerics in the parser 2014-10-05 22:21:43 -07:00
Mohamed Hegazy 432fff1362 Merge pull request #823 from chrisbubernak/betterErrorsForBitwiseOperatorsOnBooleans
Fix for issue #712
2014-10-05 09:51:11 -07:00
Chris Bubernak 6044e3aea3 Made fixes based on CR feedback 2014-10-04 10:10:55 -07:00
Anders Hejlsberg e836fe1729 Initial implementation of Union Types 2014-10-04 09:19:47 -07:00
Chris Bubernak 4714c26543 rewrote changes to the checker 2014-10-03 08:09:57 -07:00
ChrisBubernak 12e1566af1 First changes to checker for this fix 2014-10-02 16:02:29 -07:00
ChrisBubernak 93db897778 Fixed some of the baselines, made file comparisons handle different
casing, put diagnostic message in correct order
2014-09-26 07:47:44 -07:00
ChrisBubernak e11ee0f6cf Fixed a few of the code review suggestions 2014-09-25 13:02:37 -07:00
ChrisBubernak ae17c35728 Added error checking for references that reference the same file along
with 3 tests,
2014-09-25 09:12:31 -07:00
Anders Hejlsberg c990c4282d Improved error messages for private and protected member access 2014-09-19 06:35:59 -07:00
Anders Hejlsberg ce6b6234ef Support for protected members in classes 2014-09-17 10:36:32 -07:00
Anders Hejlsberg b4cddc3903 Merge branch 'master' into tupleTypes 2014-09-15 11:04:58 -07:00
Anders Hejlsberg b805037cf2 Improved error messages 2014-09-12 10:23:31 -07:00
Anders Hejlsberg 74536cc6ed Report circular type inference errors with -noImplicitAny 2014-09-12 07:28:49 -07:00
Anders Hejlsberg be7e0a75e9 Merge branch 'master' into tupleTypes 2014-09-05 13:52:45 -07:00
Sheetal Nandi a87a7794f4 Report error if exports or require is used for declaration name in external module
Fixes #63
2014-08-29 18:45:38 -07:00
Cyrus Najmabadi 9aee22b943 Merge branch 'master' into newLanguageService
Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/harness/fourslash.ts
	src/harness/harness.ts
	src/harness/harnessLanguageService.ts
	src/harness/rwcRunner.ts
	src/services/services.ts
2014-08-22 14:23:14 -07:00
Daniel Rosenwasser a366984bc9 Reassigned diagnostic codes. 2014-08-18 15:42:27 -07:00
Anders Hejlsberg 0cf503fd9f Merge branch 'master' into tupleTypes
Conflicts:
	tests/baselines/reference/typeName1.errors.txt
2014-08-16 11:11:59 -07:00
Daniel Rosenwasser 5c59360ef7 Merge branch 'master' into diagnosticsCleanup 2014-08-15 17:17:27 -07:00
Cyrus Najmabadi 87ebb6b2da add rename localization messages. 2014-08-15 16:22:58 -07:00
Sheetal Nandi f622cb4d11 Merge pull request #381 from branch 'remote/privacyErrors'
Report privacy errors on variable/property declarations and also emit import declarations that get used to defined visible type
2014-08-13 18:48:05 -07:00
Anders Hejlsberg 92b367741b Adding error message for empty tuple types. 2014-08-13 11:13:24 -07:00
Daniel Rosenwasser 978855678d Removed duplicate diagnostic. 2014-08-12 15:15:45 -07:00
Daniel Rosenwasser e6c42faa7c Addressed CR feedback, removed NoPrefix messages. 2014-08-12 14:56:27 -07:00
Sheetal Nandi 98f631e23f Make changes to report error if the type used from external module cannot be named
Adds test cases too
2014-08-11 14:15:57 -07:00
Sheetal Nandi 1347621d0c Report error if the entityname reference in the import declaration is using private module 2014-08-08 13:56:53 -07:00
Daniel Rosenwasser 122b78612c Recovered deleted, renumbered existing, reworded some. 2014-08-07 15:59:49 -07:00
Daniel Rosenwasser d7e3447909 Removed more unused diagnostics. 2014-08-07 15:59:47 -07:00
Daniel Rosenwasser 2bc8359b16 Removed unused diagnostics. 2014-08-07 15:59:46 -07:00
Daniel Rosenwasser 0c0d607087 Removed duplicate messages from diagnosticMessages.json. 2014-08-07 15:59:44 -07:00
Sheetal Nandi 2654eed32d Report privacy errors for accessors 2014-08-06 18:42:14 -07:00
Jason Freeman 72cf78f681 Error on octal literals in ES5 and strict mode 2014-08-06 18:10:16 -07:00
Sheetal Nandi 4cd2d3f8dd Report privacy errors on return types 2014-08-06 17:58:03 -07:00
Sheetal Nandi 41150776d1 Report privacy errors on parameter types 2014-08-06 17:06:59 -07:00
Daniel Rosenwasser 3ad6e31aa5 Merge pull request #351 from Microsoft/wontYouPleasePleaseHelpMe
Support the '--help' compiler flag.
2014-08-06 11:59:18 -07:00
Sheetal Nandi 00b4c2e96d Report errors on properties and variable type visibility
Fixes #69
2014-08-06 11:53:54 -07:00
Sheetal Nandi 5c4009a163 Merge pull request #161 from Microsoft/privacyErrors
Report errors for usage of private types when generating declaration file
2014-08-06 11:51:55 -07:00
Daniel Rosenwasser 81c4b0b900 Merge branch 'master' into wontYouPleasePleaseHelpMe
Conflicts:
	src/compiler/commandLineParser.ts
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
2014-08-05 12:50:16 -07:00
Daniel Rosenwasser a1a1ea3f96 Fixed up duplicate diagnostic. 2014-08-04 18:23:59 -07:00
Sheetal Nandi 0e76a82072 Fix the incorrect error reporting and declaration file emit for the type parameter constraint of private methods
Also incorporates code review feedback
2014-08-04 12:06:07 -07:00
Daniel Rosenwasser 30509f1ecc Changed messages, got rid of 'oldProgram'. 2014-08-01 18:54:26 -07:00
Daniel Rosenwasser 2dd9763bad Implemented --help. 2014-08-01 17:33:14 -07:00
Daniel Rosenwasser 616dae20f0 Fixed diagnostic generator; added messages. 2014-08-01 17:24:02 -07:00
Daniel Rosenwasser 617910b3d4 Support the '--watch' compiler flag. 2014-07-31 14:57:54 -07:00
Vladimir Matveev ed26563146 Merge pull request #317 from Microsoft/order_of_overloads
Disallow statements between overloads
fixed #75 and #92
2014-07-31 11:37:34 -07:00
Vladimir Matveev a62b47eace addressed CR feedback: changed error message 2014-07-31 11:06:42 -07:00
Vladimir Matveev 59b1e46102 disallow statements between overloads 2014-07-30 16:27:13 -07:00
Daniel Rosenwasser a87a686496 Merge pull request #304 from Microsoft/likeaversion
Print version number for --version.
2014-07-30 11:22:31 -07:00
Daniel Rosenwasser 570d2bda33 Print version number for --version. 2014-07-29 14:17:39 -07:00
Vladimir Matveev df3567c7db Merge pull request #197 from Microsoft/locals_exports
Alternative proposal for grouping exported and local declarations
2014-07-28 11:26:08 -07:00
Anders Hejlsberg fc0004749f Merge pull request #264 from Microsoft/errorOnHiddenModuleImport
Error when importing shadowed internal module.
2014-07-27 18:09:04 -07:00
Anders Hejlsberg 3da5f1ef6f Error when importing shadowed internal module.
Fixes #73.
2014-07-26 08:13:52 -07:00