1839 Commits

Author SHA1 Message Date
Sheetal Nandi
9d31631fd7 Test cases of function infering return type of functions
if f is a contextually typed function expression (section 4.9.3), the inferred return type is the union type (section 3.3.4) of the types of the return statement expressions in the function body, ignoring return statements with no expressions.
Otherwise, the inferred return type is the first of the types of the return statement expressions in the function body that is a supertype (section 3.8.3) of each of the others, ignoring return statements with no expressions. A compile-time error occurs if no return statement expression has a type that is a supertype of each of the others.
2014-11-04 16:40:56 -08:00
Sheetal Nandi
40af15c8ff Array literal produces union type if the it is not contextually typed 2014-11-04 15:58:44 -08:00
Sheetal Nandi
1ca9273f49 Identity of union type 2014-11-04 13:18:50 -08:00
Sheetal Nandi
16fc7a22e2 Tests for union type literals
A union type literal is written as a sequence of types separated by vertical bars.
UnionType:
PrimaryOrUnionType   |   PrimaryType
A union typle literal references a union type.
When function or constructor types are included in union types they must be enclosed in parentheses
2014-11-04 13:18:47 -08:00
Sheetal Nandi
24ebc750c0 Tests for Conditional operator can generate union type 2014-11-04 13:18:43 -08:00
Sheetal Nandi
b66cd9b0fc Results of || operation produces union type 2014-11-04 13:18:40 -08:00
Sheetal Nandi
49b5b5ab99 Tests for union of index signatures:
•	If each type in U has a string index signature, U has a string index signature of a union type of the types of the string index signatures from each type in U.
•	If each type in U has a numeric index signature, U has a numeric index signature of a union type of the types of the numeric index signatures from each type in U.
2014-11-04 13:18:37 -08:00
Sheetal Nandi
c2b2c306af Tests for union of construct signatures
If each type in U has construct signatures and the sets of construct signatures are identical ignoring return types, U has the same set of construct signatures, but with return types that are unions of the return types of the respective construct signatures from each type in U.
2014-11-04 13:18:34 -08:00
Sheetal Nandi
2b8342bd79 Tests for union of call signatures
If each type in U has call signatures and the sets of call signatures are identical ignoring return types, U has the same set of call signatures, but with return types that are unions of the return types of the respective call signatures from each type in U.
2014-11-04 13:18:30 -08:00
Sheetal Nandi
357bd87612 Tests for union members:
If each type in U has a property P, U has a property P of a union type of the types of P from each type in U.
2014-11-04 13:18:27 -08:00
Sheetal Nandi
1f3653b32e Tests for assignment compatibility of union types
•	A union type U is assignable to a type T if each type in U is assignable to T.
•	A type T is assignable to a union type U if T is assignable to any type in U.
2014-11-04 13:18:24 -08:00
Sheetal Nandi
703cd5d4cf Tests for checking if type S is subtype of union type
T is a union type and S is a subtype of at least one constituent type of T
2014-11-04 13:18:20 -08:00
Sheetal Nandi
a1535533e7 Tests for source (S) of subtype is union type (U)
A union type U is a subtype of a type T if each type in U is a subtype of T
2014-11-04 13:18:17 -08:00
Sheetal Nandi
568049474e Tests to check equivalency of union types
A union type encompasses an unordered set of unrelated types (that is, types that aren’t subtypes of each other). The following rules govern union types:
•	A | B is equivalent to A if B is a subtype of A.
•	A | B is equivalent to B | A.
•	AB | C is equivalent to A | BC, where AB is A | B and BC is B | C.
2014-11-04 13:18:14 -08:00
Sheetal Nandi
7634f741d9 Conformance tests for array element type of tuple is union type of tuple element types 2014-11-04 13:18:11 -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
Cyrus Najmabadi
1a039866c1 Treat getTodoComments as a semantic operation since it will be called on every file in the project. 2014-11-03 15:12:18 -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
Vladimir Matveev
3c2f556306 Merge pull request #1033 from Microsoft/type_aliases_conformance
Type aliases conformance tests, fixed #1004
2014-11-03 10:56:11 -08:00
CyrusNajmabadi
23c9b01024 Merge pull request #1037 from Microsoft/incrementalParsingPerf
Speed up incremental parsing by caching child tokens instead of walking ...
2014-11-03 00:59:15 -08:00
Cyrus Najmabadi
8954538399 Remove SyntaxNode.ts file
Lots of cleanup of the syntax generator.

Sort definitions.

Remove unused class.
2014-11-03 00:30:52 -08:00
Cyrus Najmabadi
adb775c579 Simplifying node constructors 2014-11-02 23:54:26 -08:00
Cyrus Najmabadi
02ad58c7c7 Use functions instead of classes 2014-11-02 23:51:11 -08:00
Cyrus Najmabadi
a8e88eafd3 Remove accept method from syntax nodes 2014-11-02 23:48:29 -08:00
Cyrus Najmabadi
a00fdad52b Remove childCount and childAt from ISyntaxElement.
Conflicts:
	src/services/syntax/syntaxUtilities.generated.ts
2014-11-02 23:47:54 -08:00
Cyrus Najmabadi
1f969fe41c Remove shared arrays. 2014-11-02 23:42:54 -08:00