Commit Graph

14913 Commits

Author SHA1 Message Date
Sheetal Nandi 38f14b5b1d Block completion list on import declaration name and fix the crash in symbol display name when import declaration is incomplete
Fixes #991
2014-11-06 19:37:05 -08:00
Sheetal Nandi 127aa49e55 Fix the union property kind if the property is union of exported variable of module
Fixes #929
2014-11-06 19:18:20 -08:00
Sheetal Nandi 28fa6029eb Fix the crash in getCompilerOptionsDiagnostics by not using file name as compiler options do not have file name
Fixes #988
2014-11-06 19:00:44 -08:00
Sheetal Nandi bfca3c5548 Fix the line preservation between jsdoc comments while displaying it
Fixes #891
2014-11-06 18:49:05 -08:00
Vladimir Matveev 62dd501a48 code cleanup: remove unused arguments 2014-11-06 18:37:44 -08:00
Sheetal Nandi 8ab038f1a3 Fixed the merge conflicts that went undetected in github 2014-11-06 18:02:29 -08:00
Josh Kalderimis 098f6c3958 Use the new beta build env on Travis
VMs start in seconds! (so much better than waiting 30-120 seconds)
2014-11-07 15:00:52 +13:00
Vladimir Matveev 7e595f4701 code cleanup: inline functions 2014-11-06 18:00:15 -08:00
Daniel Rosenwasser 80b8062a01 Addressed CR feedback. 2014-11-06 17:58:21 -08:00
Vladimir Matveev 91065ec92c removed duplicate code 2014-11-06 17:55:45 -08:00
Sheetal Nandi beef2ebbe6 Merge pull request #1079 from Microsoft/showNarrowedType
Show narrowed type in quickInfo/completion entry
2014-11-06 17:17:51 -08:00
Sheetal Nandi 9e2eb3bc03 Merge pull request #1058 from Microsoft/contextualUnionTypeConformance
Contextual union type conformance test cases and Fix for contextual union signature
2014-11-06 16:25:40 -08:00
Sheetal Nandi 727f36ad02 Merge pull request #1080 from Microsoft/breakpointTypeAlias
Breakpoint type alias
2014-11-06 16:24:56 -08:00
Sheetal Nandi b277565c1f Merge pull request #1081 from Microsoft/breakpointsLetConst
Breakpoint validation for Let and cost
2014-11-06 16:24:43 -08:00
Sheetal Nandi 048c7856cb Merge pull request #1040 from Microsoft/unionTypeInSignatureDisplay
Completion entry details of union of methods with no call signature
2014-11-06 16:24:09 -08:00
Vladimir Matveev 364b63bd82 simplify formatting scanner 2014-11-06 16:19:09 -08:00
Sheetal Nandi e4c88eeae1 Breakpoint validation for Let and cost 2014-11-06 15:49:59 -08:00
Yui T 6c9c502218 Merge branch 'master' into refactorRefFilesPath
Conflicts:
	src/services/compiler/precompile.ts
	src/services/services.ts
	src/services/utilities.ts
2014-11-06 15:47:58 -08:00
Sheetal Nandi 61c45816c4 Type aliases cannot have breakpoints 2014-11-06 15:40:28 -08:00
Sheetal Nandi 1e4f0b81fa Verify breakpoints in type alias syntax 2014-11-06 15:38:47 -08:00
Vladimir Matveev b7b3506c59 change folder structure, move all new formatting related bits to 'format' folder 2014-11-06 15:31:42 -08:00
Sheetal Nandi 12370332a1 Show narrowed type in quickInfo/completion entry
Fixes #927
2014-11-06 15:20:31 -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
Sheetal Nandi da314a3774 Merge pull request #1041 from Microsoft/declFilePrivateMethodOverload
Declaration file emit for private method overloads
2014-11-06 14:54:06 -08:00
Anders Hejlsberg a01b44080c Rework tracking and error reporting related to widening of types 2014-11-06 14:15:36 -08:00
Sheetal Nandi e79229b88d Update some documentation as per code review feedback 2014-11-06 13:44:10 -08:00
Yui T 150e8d30d7 Store scanner position before create PropertyDeclaration node 2014-11-06 13:42:22 -08:00
Sheetal Nandi 6aa9bd68f7 Merge branch 'master' into unionTypeInSignatureDisplay 2014-11-06 13:37:18 -08:00
Sheetal Nandi 52a8560298 Typeguards of form !expr
•	A type guard of the form !expr
o	when true, narrows the type of x by expr when false, or
o	when false, narrows the type of x by expr when true.
2014-11-06 13:04:43 -08:00
Sheetal Nandi c9a03dc659 Typeguards of form expr1 || expr2
•	A type guard of the form expr1 || expr2
o	when true, narrows the type of x to T1 | T2, where T1 is the type of x narrowed by expr1 when true, and T2 is the type of x narrowed by expr1 when false and then by expr2 when true, or
o	when false, narrows the type of x by expr1 when false and then by expr2 when false.
2014-11-06 13:04:40 -08:00
Sheetal Nandi 486d37ec90 TypeGuard of for expr1 && expr2
•	A type guard of the form expr1 && expr2
o	when true, narrows the type of x by expr1 when true and then by expr2 when true, or
o	when false, narrows the type of x to T1 | T2, where T1 is the type of x narrowed by expr1 when false, and T2 is the type of x narrowed by expr1 when true and then by expr2 when false.
2014-11-06 13:04:37 -08:00
Sheetal Nandi 7ebf5371a5 Test cases for typeguards of form typeof x === s and typeof x !== s
•	A type guard of the form typeof x === s, where s is a string literal with the value ‘string’, ‘number’, or ‘boolean’,
o	when true, narrows the type of x to the given primitive type, or
o	when false, removes the primitive type from the type of x.
•	A type guard of the form typeof x === s, where s is a string literal with any value but ‘string’, ‘number’, or ‘boolean’,
o	when true, removes the primitive types string, number, and boolean from the type of x, or
o	when false, has no effect on the type of x.
•	A type guard of the form typeof x !== s, where s is a string literal,
o	when true, narrows the type of x by typeof x === s when false, or
o	when false, narrows the type of x by typeof x === s when true.
2014-11-06 13:04:34 -08:00
Sheetal Nandi 5961ed7154 Test typeguard of form instance of
•	A type guard of the form x instanceof C, where C is of a subtype of the global type ‘Function’ and C has a property named ‘prototype’
o	when true, narrows the type of x to the type of the ‘prototype’ property in C provided it is a subtype of the type of x, or
o	when false, has no effect on the type of x.
2014-11-06 13:04:30 -08:00
Sheetal Nandi 2fecc132ab Tests for typeguards allowed on variables and parameters only
From spec:
Note that type guards affect types of variables and parameters only and have no effect on members of objects such as properties
2014-11-06 13:04:27 -08:00
Sheetal Nandi 33cdc2f876 Type guards in || operator
•	In the right operand of a || operation, the type of a variable or parameter is narrowed by any type guard in the left operand when false, provided the right operand contains no assignments to the variable or parameter.
2014-11-06 13:04:24 -08:00
Sheetal Nandi 11912e8fde TypeGuards in right operand of && operation
•	In the right operand of a && operation, the type of a variable or parameter is narrowed by any type guard in the left operand when true, provided the right operand contains no assignments to the variable or parameter.
2014-11-06 13:04:21 -08:00
Sheetal Nandi 55952af304 Tests for conditional expression typeguards
•	In the true expression of a conditional expression, the type of a variable or parameter is narrowed by any type guard in the condition when true, provided the expression contains no assignments to the variable or parameter.
•	In the false expression of a conditional expression, the type of a variable or parameter is narrowed by any type guard in the condition when false, provided the expression contains no assignments to the variable or parameter.
2014-11-06 13:04:18 -08:00
Sheetal Nandi 4b3d603f24 Test cases for typeguards are scoped at function /module block 2014-11-06 13:04:14 -08:00
Sheetal Nandi 2088a89223 Test cases to make sure typeguard is defeated in case of function calls
From spec:
Also note that it is possible to defeat a type guard by calling a function that changes the type of the guarded variable.
2014-11-06 13:04:11 -08:00
Sheetal Nandi e79bec5cbf TypeGuards narrow types in if statement works per spec:
The type of a variable or parameter is narrowed in the following situations:
•	In the true branch statement of an ‘if’ statement, the type of a variable or parameter is narrowed by any type guard in the ‘if’ condition when true, provided the if statement contains no assignments to the variable or parameter.
•	In the false branch statement of an ‘if’ statement, the type of a variable or parameter is narrowed by any type guard in the ‘if’ condition when false, provided the if statement contains no assignments to the variable or parameter.
2014-11-06 13:04:08 -08:00
Jason Freeman 2145b2f445 Merge pull request #1071 from Microsoft/computedPropertyName
Change name of Declaration node to be Identifier | ComputedPropertyName
2014-11-06 12:05:48 -08:00
Jason Freeman 5164fbc3bd Merge branch 'master' into computedPropertyName 2014-11-06 11:52:19 -08:00
Jason Freeman 279166be50 Address feedback 2014-11-06 11:51:49 -08:00
vladima c3a88d3482 code cleanup: replace nulls with undefined 2014-11-06 11:10:27 -08:00
vladima ace99ad051 code cleanup, removed unused files 2014-11-06 10:57:19 -08:00
vladima bbc2da79bb return last scanned token if possible 2014-11-06 00:37:58 -08:00
CyrusNajmabadi 147550e2d3 Merge pull request #1065 from Microsoft/shorthandProperties
Add support for parsing shorthand property assignments.
2014-11-05 22:53:43 -08:00
Vladimir Matveev 154977ce95 add child delta for all nodes 2014-11-05 19:35:53 -08:00
Daniel Rosenwasser 652b7f8909 Corrected comment. 2014-11-05 18:34:53 -08:00