509 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
vladima
95ec8c065f add test for const enum that is initialized with enum member defined above 2014-11-04 12:13:19 -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
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
cba9b7ff5e fixed typo 2014-11-02 16:20:00 -08:00
Vladimir Matveev
6b1a96ca29 added basic set of tests for type aliases 2014-11-02 13:34:04 -08:00
Vladimir Matveev
d86d520c33 merge with master 2014-11-02 12:31:44 -08:00
Vladimir Matveev
fe7d056724 initial version of spec conformance tests for type aliases 2014-11-01 23:54:55 -07:00
Vladimir Matveev
2d94030f58 inline enum constant values for indexed access when index is string literal 2014-11-01 18:16:48 -07:00
Anders Hejlsberg
0c5057e913 Accepting updated baselines 2014-11-01 15:30:07 -07:00
Vladimir Matveev
0b738e86c4 merge with master 2014-11-01 02:06:37 -07:00
Vladimir Matveev
8662c689b3 add test for 'preserveConstEnums' command line argument 2014-11-01 01:06:06 -07:00
Vladimir Matveev
7d80b7186d do not treat module that contains only const enums as instantiated 2014-11-01 00:56:00 -07:00
Daniel Rosenwasser
3e8978fb60 Merge branch 'master' into templates 2014-10-31 14:54:12 -07:00
Anders Hejlsberg
bf3a62909b Addressing feedback and adding regression tests 2014-10-31 14:23:29 -07:00
Anders Hejlsberg
4555090cc9 Accepting new baselines 2014-10-31 10:19:31 -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
dd57c6c5c0 added .d.ts generation tests 2014-10-30 22:48:32 -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
Daniel Rosenwasser
b8535d339c Omit empty template tail literals. 2014-10-28 18:47:43 -07:00
Daniel Rosenwasser
aabfebd40e Fixed emit for parenthesized template expressions. 2014-10-28 18:47:29 -07:00
Daniel Rosenwasser
7fad76955e Merge branch 'master' into templates 2014-10-28 18:43:43 -07: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
Vladimir Matveev
365587f6bf addressed CR feedback, added support for indexed access 2014-10-26 23:42:20 -07:00
Vladimir Matveev
ce336bcec7 added folding for references to enum members in enum member initializers, added tests 2014-10-26 16:40:02 -07:00
Jason Freeman
431bf9a746 Update baselines 2014-10-24 16:42:22 -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