12749 Commits

Author SHA1 Message Date
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
Daniel Rosenwasser
39daf6cfbe Merge pull request #1060 from Microsoft/classifyKeywordsWithoutSyntacticClassifier
Classify keywords in type args in the absence of syntactic classification
2014-11-04 23:44:33 -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
Daniel Rosenwasser
e119c575e8 Classify keywords in type args in the absence of syntactic classification. 2014-11-04 17:30:37 -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
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
a5cea935af Tests for contextual index signature of union type
Let S be the set of types in U that has a string index signature. If S is not empty, U has a string index signature of a union type of the types of the string index signatures from each type in S.
Let S be the set of types in U that has a numeric index signature. If S is not empty, U has a numeric index signature of a union type of the types of the numeric index signatures from each type in S.
2014-11-04 15:33:32 -08:00
Daniel Rosenwasser
1508350cb8 Merge branch 'master' into taggedTemplates
Conflicts:
	tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt
2014-11-04 15:24:21 -08:00
Daniel Rosenwasser
56027663bf Initial work on overload resolution with tagged templates.
Currently type argument inference breaks hard when the first parameter of a tag has a generic type.
2014-11-04 15:05:05 -08:00
Sheetal Nandi
c4e632746e Fix the logic in getting the contextual signature of union type as per spec
Fixes #1054
2014-11-04 14:49:15 -08:00
Sheetal Nandi
c5b4051f3a Test cases for contextual typing of union type members 2014-11-04 13:33:43 -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