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
CyrusNajmabadi
147550e2d3
Merge pull request #1065 from Microsoft/shorthandProperties
...
Add support for parsing shorthand property assignments.
2014-11-05 22:53:43 -08:00
Jason Freeman
bc70e4a29d
Make certain types of FunctionLike require block bodies
2014-11-05 18:04:19 -08:00
Jason Freeman
6c85dbe140
Refactor Declaration.name into Identifier | ComputedPropertyName
2014-11-05 17:47:30 -08:00
Daniel Rosenwasser
356622c8e9
Merge pull request #1067 from Microsoft/deduplicateTypeNotAssignableMessage
...
Removed duplicate diagnostic message.
2014-11-05 12:48:57 -08:00
Daniel Rosenwasser
e12e31b144
Removed duplicate diagnostic.
2014-11-05 12:26:03 -08:00
Cyrus Najmabadi
bea124b217
Simplify code.
2014-11-05 04:08:20 -08:00
Cyrus Najmabadi
1a1c9ace8a
Add support for parsing computed property names.
2014-11-05 03:49:25 -08:00
Cyrus Najmabadi
cb97682d83
Add the IPropertyNameSyntax.
...
This will help us introduce the ComputedPropertyName concept in the future.
Conflicts:
src/services/syntax/syntaxNodes.concrete.generated.ts
2014-11-05 00:54:53 -08:00
Cyrus Najmabadi
ae87b08e33
Add support for parsing shorthand property assignments.
2014-11-04 23:04:07 -08:00
CyrusNajmabadi
fff8ef8b84
Merge pull request #1063 from Microsoft/nodeCleanup
...
Node cleanup
2014-11-04 23:03:13 -08:00
Cyrus Najmabadi
5952036e2c
Remove unnecessary brand.
2014-11-04 22:43:11 -08:00
Cyrus Najmabadi
3753058874
Add an IAccessorSyntax interface.
2014-11-04 22:43:01 -08:00
Cyrus Najmabadi
ba2bdc4124
Add missing brands to the syntax interfaces.
2014-11-04 22:42:43 -08:00
Cyrus Najmabadi
a9a2fe501a
Specialize computeData for arrays.
2014-11-04 22:41:13 -08:00
Cyrus Najmabadi
4cefe353f3
remove file.
2014-11-04 22:40:59 -08:00
Cyrus Najmabadi
35644b3d47
Move from an array of function pointers to actual methods.
...
Conflicts:
src/services/syntax/syntaxGenerator.ts
2014-11-04 22:40:36 -08:00
Anders Hejlsberg
d8080a0b46
Merge pull request #1035 from Microsoft/improvedTypeInference
...
Improved type inference (fixes #1011 )
2014-11-04 17:09:31 -08:00
Vladimir Matveev
2b701963ee
Merge pull request #1049 from Microsoft/const_enums
...
Convert majority of enums in compiler to const enums
2014-11-04 12:28:40 -08:00
vladima
9051bc9e57
use debug mode by defauls in local builds
2014-11-04 12:18:32 -08:00
vladima
95ec8c065f
add test for const enum that is initialized with enum member defined above
2014-11-04 12:13:19 -08:00
vladima
b3eb9c5e6c
add 'emitReverseMapping' task to jakefile
2014-11-04 11:27:34 -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
CyrusNajmabadi
26b221151a
Merge pull request #1051 from Microsoft/updatedNodes
...
Update syntax nodes.
2014-11-04 02:13:35 -08:00
Cyrus Najmabadi
419ee38c8a
Update syntax nodes.
2014-11-04 01:37:59 -08:00
CyrusNajmabadi
47a3410324
Merge pull request #1050 from Microsoft/incrementalPerf2
...
More incremental perf tweaks.
2014-11-04 01:27:54 -08:00
Cyrus Najmabadi
12d3d8a741
Specialize findToken walk.
2014-11-04 01:20:00 -08:00
Cyrus Najmabadi
c9edc5963e
Micro optimize scanning
2014-11-04 01:19:46 -08:00
Cyrus Najmabadi
82dc827837
Use an array for getting the right childAt function.
2014-11-04 01:19:31 -08:00
Cyrus Najmabadi
aa2509a08a
Small micro optimizations to incremental parsing.
2014-11-04 01:19:19 -08:00
Cyrus Najmabadi
7c0c788886
Specialize update method for both nodes and tokens.
2014-11-04 01:19:06 -08:00
Cyrus Najmabadi
6fd900b4c2
Faster fixedWidthTokenLength function.
2014-11-04 01:18:51 -08:00
Cyrus Najmabadi
ddfdfc3dd5
Change 'kind' into a property from a method.
2014-11-04 01:18:37 -08:00
Vladimir Matveev
a8e5aad6e8
use const enums in compiler
2014-11-03 23:31:38 -08:00
Vladimir Matveev
72402f9463
update LKG
2014-11-03 22:54:55 -08:00
CyrusNajmabadi
b49762d5e4
Merge pull request #1047 from Microsoft/parentProperty
...
Make ISyntaxElement.parent non-optional
2014-11-03 20:08:54 -08:00
Cyrus Najmabadi
5d06cd7461
Make ISyntaxElement.parent non-optional
2014-11-03 18:59:17 -08:00
CyrusNajmabadi
19886375b2
Merge pull request #1045 from Microsoft/childCountArray
...
Encode child counts as an array, not as a switch.
2014-11-03 18:46:25 -08:00
Cyrus Najmabadi
b97c0b434b
Update test.
2014-11-03 18:42:26 -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
Cyrus Najmabadi
296391619e
Encode child counts as an array, not as a switch.
2014-11-03 18:29:37 -08:00
CyrusNajmabadi
c514f718e7
Merge pull request #1044 from Microsoft/todoSemantic
...
Treat getTodoComments as a semantic operation since it will be called on...
2014-11-03 15:28:40 -08:00