Commit Graph

2210 Commits

Author SHA1 Message Date
Sheetal Nandi
5acc1a1bd2 Fix the crash in completion entry by fixing the unknown token check
Fixes #1069
2014-11-06 19:51:00 -08:00
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
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
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
Daniel Rosenwasser
bcddb101aa Proper type arg inference with apppropriate overload res tests. 2014-11-05 18:20:40 -08:00