Commit Graph

603 Commits

Author SHA1 Message Date
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
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
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
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
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
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
ead3c1bde8 Disabled completion list entries in template literal parts for the LS. 2014-10-28 18:50:26 -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
7fad76955e Merge branch 'master' into templates 2014-10-28 18:43:43 -07:00
Jason Freeman
4486c3be9d Fix signature help crash when requested outside argument list 2014-10-28 18:20:24 -07:00
Mohamed Hegazy
8d3fa047d6 Merge branch 'master' into completionFixes 2014-10-28 09:10:03 -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
Daniel Rosenwasser
3e894520ac Merge pull request #976 from Microsoft/privatePropertiesBeingTooPrivate
Fixed findAllRefs/getOccs bug where private properties declared in the constructor were only local to the constructor.
2014-10-27 18:30:31 -07:00
Daniel Rosenwasser
e3d82b7db3 Fixed findAllRefs/getOccs bug where private properties declared in the constructor were only local to the constructor.
Fixes #975.
2014-10-27 18:08:49 -07:00
Mohamed Hegazy
66ac508163 Merge branch 'master' into completionFixes
Conflicts:
	src/services/services.ts
2014-10-27 15:39:54 -07:00
Mohamed Hegazy
962c4de875 Address code review comments 2014-10-27 15:30:38 -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
Daniel Rosenwasser
c03dc107ca Added syntactic classification for templates; also made 'spans' a NodeArray. 2014-10-24 17:14:41 -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
Mohamed Hegazy
51e101c55e Merge branch 'master' into letAndConst 2014-10-24 10:32:21 -07:00
Mohamed Hegazy
67c78a2662 Only check for collisions with variabels and not properties 2014-10-24 10:30:40 -07:00
Mohamed Hegazy
e4a20849bb Ensure let and const declarations in labels are parsed correctelly 2014-10-24 10:14:36 -07:00