884 Commits

Author SHA1 Message Date
Anders Hejlsberg
ccffc9f25f Adding more tests 2015-01-22 15:12:55 -08:00
Anders Hejlsberg
963de957cb Adding regression test 2015-01-22 14:52:15 -08:00
Anders Hejlsberg
21e6784038 Accepting new baselines 2015-01-22 11:04:09 -08:00
Anders Hejlsberg
2052ac3958 Merge pull request #1765 from Microsoft/unionTypeOperations
Correct handling of union types in expressions
2015-01-21 15:43:54 -08:00
Anders Hejlsberg
f34620db63 Modifying and adding tests 2015-01-21 13:55:07 -08:00
Sheetal Nandi
4d1182401c Type alias declaration is type only declaration and doesnt make module instantiated
Handles #1724
2015-01-21 11:18:42 -08:00
Sheetal Nandi
e8e2356afa Fixes the emit of comment when comment ends on last line
This fixes regression from 5a7500ca5e62d7e6c7863cf42d156e8bcdc3017c with addition of eof token
Handles #1714
2015-01-20 21:16:14 -08:00
Anders Hejlsberg
a2ecaf60f0 Merge branch 'master' into tsconfig 2015-01-19 14:50:18 -08:00
Anders Hejlsberg
ee6f2faabb Accepting baselines for corrected error messages 2015-01-15 17:19:22 -08:00
Daniel Rosenwasser
5bcb52f9b0 Merge pull request #1676 from Microsoft/disallowOptionalBindingParameters
Disallow optional destructured parameters in implementation signatures.
2015-01-15 16:55:14 -08:00
Daniel Rosenwasser
2a11222050 'may not' -> 'cannot' 2015-01-15 16:29:50 -08:00
Yui T
6d678b7d4f Merge branch 'master' into addTestsForRestAndDefault 2015-01-15 13:57:25 -08:00
Daniel Rosenwasser
8dd81ea4fc Merge pull request #1673 from Microsoft/unDestructuringParameterProperties
Disallow destructured parameter properties
2015-01-15 13:39:47 -08:00
Daniel Rosenwasser
75a1a8a493 Disallow optional destructured parameters in implementation signatures. 2015-01-14 17:25:46 -08:00
Daniel Rosenwasser
dafe7c8958 Added tests. 2015-01-14 17:02:31 -08:00
Daniel Rosenwasser
e19ebc6d3e Disallow binding patterns in parameter properties. 2015-01-14 16:15:00 -08:00
Daniel Rosenwasser
61e2eb6b89 Renamed tests. 2015-01-14 16:13:12 -08:00
Daniel Rosenwasser
f58e6fc4a1 Fixed incorrect tests. 2015-01-14 16:08:29 -08:00
Daniel Rosenwasser
bfe63cc4cb Merge pull request #1648 from Microsoft/contextualTypeParenthesizedExpressions
Contextually type parenthesized expressions
2015-01-14 14:52:07 -08:00
Yui T
fdadd3c18e Fix narrow type for instanceOf and add testcases 2015-01-14 11:30:58 -08:00
Jason Freeman
4a1851c7b8 Merge pull request #1562 from csnover/fix-1133
Ensure specialized signatures are always at the top when performing call candidate resolution
2015-01-13 17:33:57 -08:00
Daniel Rosenwasser
372b0a4e15 Updated parser lookahead for modifiers to anticipate object literals. 2015-01-13 16:24:23 -08:00
Daniel Rosenwasser
b434ee42a8 Added tests. 2015-01-13 16:06:34 -08:00
Anders Hejlsberg
cbecae3cf3 Merge pull request #1657 from Microsoft/unionTypeGuards
Improved union type guards
2015-01-13 11:59:54 -08:00
Anders Hejlsberg
59e266de02 Improved handing of union types in type guards 2015-01-12 14:51:20 -08:00
Vladimir Matveev
c25f3eb9a3 addressed CR feedback 2015-01-12 11:31:54 -08:00
Vladimir Matveev
ecac4a519d disallow incorrect literal property names in indexed access for const enums 2015-01-12 10:58:21 -08:00
Daniel Rosenwasser
22174a17c6 Contextually type parenthesized expressions. 2015-01-09 15:10:32 -08:00
Daniel Rosenwasser
cd246992ed Clarified comment in test. 2015-01-09 14:19:24 -08:00
Daniel Rosenwasser
f5f4e28f4f Fixed portion of test. 2015-01-08 16:53:26 -08:00
Daniel Rosenwasser
d5f02813f0 Added tests for contextual typing on parenthesized expressions, added case for tagged templates. 2015-01-08 16:39:47 -08:00
Anders Hejlsberg
40dc1341ab Merge pull request #1621 from Microsoft/narrowingOfAny
Type guard narrows type any in a primitive type check
2015-01-08 15:57:15 -08:00
Anders Hejlsberg
968a56924f Type guard narrows type any in a primitive type check 2015-01-08 14:27:39 -08:00
Daniel Rosenwasser
7b11621750 Merge pull request #1571 from Arnavion/1570-template-strings
Don't emit an empty template head literal if there's a template span with a non-empty literal.
2015-01-08 12:17:17 -08:00
Vladimir Matveev
4daa107cb4 Merge pull request #1614 from Microsoft/type_parameters_visibility
consider type parameters always visible
2015-01-07 12:41:47 -08:00
Daniel Rosenwasser
f32683d231 Merge pull request #1529 from Microsoft/uninstantiatedModulesBeforeClasses
Allow uninstantiated modules before clodules
2015-01-07 12:40:50 -08:00
Vladimir Matveev
01218f86ff consider type parameters always visible 2015-01-06 17:55:54 -08:00
Arnavion
d07151f87c Update tests and baselines. 2015-01-06 15:28:06 -08:00
Arnavion
4dfb0cc3d8 Update tests and baselines. 2015-01-06 02:42:22 -08:00
Jason Freeman
7459c87265 Merge branch 'release-1.4'
Conflicts:
	bin/lib.core.es6.d.ts
	bin/lib.es6.d.ts
	bin/tsc.js
	bin/typescript.d.ts
	bin/typescriptServices.d.ts
	bin/typescriptServices.js
	bin/typescriptServices_internal.d.ts
	bin/typescript_internal.d.ts
2015-01-05 15:08:17 -08:00
Yui T
ec5c115cfa Add tests covering emitting rest parameters natively in ES6 2015-01-05 13:33:44 -08:00
Yui T
22bf60e431 Add tests covering emitting default parameters natively in ES6 2015-01-05 13:22:43 -08:00
Cyrus Najmabadi
a1d04c3c65 Merge branch 'master' into mergeMarkers1 2014-12-28 18:58:47 -08:00
Colin Snover
435b44ce57 Put specialized signatures at the top of the list of call candidates
Fixes #1133.
2014-12-26 01:01:41 +00:00
Cyrus Najmabadi
48bef4698b Provide better error recovery when we encounter merge markers in the source.
Previously we would just treat each merge marker as trivia and then continue
scanning and parsing like normal.  This worked well in some scenarios, but
fell down in others like:

```
class C {
    public foo() {
<<<<<<< HEAD
        this.bar();
    }
=======
        this.baz();
    }
>>>>>>> Branch

    public bar() { }
}
```

The problem stems from the previous approach trying to incorporate both branches of the merge into
the final tree.  In a case like this, that approach breaks down entirely.  The the parser ends up
seeing the close curly in both included sections, and it considers the class finished.  Then, it
starts erroring when it encounters "public bar()".

The fix is to only incorporate one of these sections into the tree.  Specifically, we only include
the first section.  The second sectoin is treated like trivia and does not affect the parse at all.
To make the experience more pleasant we do *lexically* classify the second section.  That way it
does not appear as just plain black text in the editor.  Instead, it will have appropriate lexicla
classifications for keywords, literals, comments, operators, punctuation, etc.  However, any syntactic
or semantic feature will not work in the second block due to this being trivia as far as any feature
is concerned.

This experience is still much better than what we had originally (where merge markers would absolutely)
destroy the parse tree.  And it is better than what we checked in last week, which could easily create
a borked tree for many types of merges.

Now, almost all merges should still leave the tree in good shape.  All LS features will work in the
first section, and lexical classification will work in the second.
2014-12-18 19:18:13 -08:00
Cyrus Najmabadi
828b33aae7 Add test demonstrating the problem with conflict markers. 2014-12-18 17:23:34 -08:00
Daniel Rosenwasser
4aa37691a1 Fixed issue where the second type's signature having type parameters would not cause an error. 2014-12-18 16:45:29 -08:00
Daniel Rosenwasser
50d0f9b719 Added tests/baselines. 2014-12-18 16:45:26 -08:00
Cyrus Najmabadi
67b2f13cce Merge branch 'master' into layering
Conflicts:
	src/compiler/parser.ts
2014-12-18 00:39:56 -08:00
Daniel Rosenwasser
46cd90daf0 Added test, modified test, updated baselines. 2014-12-17 17:05:05 -08:00