Commit Graph

35940 Commits

Author SHA1 Message Date
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
Ivo Gabe de Wolff a13af6b482 Move code to separate functions 2015-01-05 21:22:12 +01:00
Vladimir Matveev 06258b8c10 added parameter names to 'copymap' call site 2015-01-05 11:48:46 -08:00
Ivo Gabe de Wolff 8f28c95b04 Emit parens when an argument is a comma operator
Example:
foo`A${ 1 }B${ 2, 3 }C`;
2015-01-05 20:30:38 +01:00
ChrisBubernak f39a25b659 made some changes based cr feedback 2015-01-05 08:31:04 -08:00
Ivo Gabe de Wolff 69d724f554 Fix tagged templates that consist of a single part
Example:
foo `bar` should compile to foo([“bar”])
2015-01-04 20:58:45 +01:00
Ivo Gabe de Wolff c2d0bf82c4 Emit tagged templates when targeting ES3 or 5 2015-01-04 14:47:18 +01:00
Ivo Gabe de Wolff 6469375149 Remove tagged templates error when targeting ES3 or 5 2015-01-04 14:42:05 +01:00
Vladimir Matveev 363587163b extract map copying logic to a separate function 2015-01-02 12:14:02 -08:00
ChrisBubernak 8808a692e5 rewrote the fix to use a new type format flag and fixed the baselines I broke 2015-01-02 11:04:00 -08:00
Daniel Rosenwasser 4e5a3ae695 Merge pull request #1583 from DickvdBrink/npmignore
Add scripts to .npmignore
2014-12-31 12:02:35 -05:00
unknown 4cb70d0f9a Also add travis.yml to npmignore file 2014-12-31 15:40:43 +01:00
unknown 12c3d22713 Add scripts to .npmignore 2014-12-31 15:31:49 +01:00
ChrisBubernak 3b55a0cca4 removed errant text 2014-12-30 11:10:02 -08:00
ChrisBubernak 5838900b19 remove commented out code 2014-12-30 11:08:22 -08:00
ChrisBubernak 07d3c204d5 updating baseines 2014-12-30 11:06:56 -08:00
ChrisBubernak 82fcaa852c added baselines for new test case 2014-12-30 10:50:07 -08:00
ChrisBubernak fddc2253d7 fixed checker and added a test case 2014-12-30 10:48:44 -08:00
CyrusNajmabadi e76ccb8cf5 Merge pull request #1535 from Microsoft/mergeMarkers1
Provide better error recovery when we encounter merge markers in the source.
2014-12-29 18:57:58 -08:00
Cyrus Najmabadi 12cb284e5d CR feedback. 2014-12-29 16:23:11 -08:00
Cyrus Najmabadi a1d04c3c65 Merge branch 'master' into mergeMarkers1 2014-12-28 18:58:47 -08:00
CyrusNajmabadi c9594c3aa2 Merge pull request #1568 from Microsoft/enableIncremental
Enable incremental parsing by default.
2014-12-27 23:56:21 -08:00
Cyrus Najmabadi 52e15e7bee Enable incremental parsing by default. 2014-12-26 22:21:53 -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
Daniel Rosenwasser 8aefbe9a86 Removed newline. 2014-12-22 14:02:40 -08:00
Daniel Rosenwasser d907f99693 Moved EmitHost to types.ts so that utilities can be edited as a standalone file through dependency resolution. 2014-12-22 13:58:14 -08:00
Daniel Rosenwasser edd3974b6f Merge pull request #1533 from Microsoft/fixCompareSignatures
Fix compareSignatures
2014-12-22 12:56:56 -08:00
Daniel Rosenwasser 52ef460002 Undid comment change that made things more misleading. 2014-12-19 15:30:34 -08:00
Cyrus Najmabadi 0707350c7b Update conflict marker formatting test. We now no longer format the second branch of hte merge. 2014-12-19 11:33:45 -08:00
Cyrus Najmabadi ff9f59c913 Remove unused constants. 2014-12-18 19:43:36 -08:00
Cyrus Najmabadi a6ea497ff1 Classify the '=' sign in variable/parameter/property as if it was an operator. 2014-12-18 19:38:19 -08: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
CyrusNajmabadi 5ecc28834e Merge pull request #1512 from Microsoft/layering
Compiler Layering
2014-12-18 13:02:57 -08:00
Cyrus Najmabadi ef2087add5 Merge branch 'master' into layering 2014-12-18 12:20:32 -08:00
Daniel Rosenwasser af9b56bdd9 Merge pull request #1528 from Microsoft/goToDefOnUnionMethod
Fix crash on go-to-def on union method
2014-12-18 12:11:05 -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 6fed3e2601 Merge pull request #1501 from Arnavion/no-emit
Add -noEmit compiler flag that skips the emit stage in ts.compile()
2014-12-17 18:00:33 -08:00
Cyrus Najmabadi b155351e0a Remove unnecessary capture of the diagnostics type checker. 2014-12-17 17:06:12 -08:00
Daniel Rosenwasser 46cd90daf0 Added test, modified test, updated baselines. 2014-12-17 17:05:05 -08:00
Daniel Rosenwasser fac5201765 Only error on non-ambient instantiated modules preceding clodules. 2014-12-17 17:00:42 -08:00
Anders Hejlsberg b2a02fe9ef Merge pull request #1443 from Microsoft/improvedTypeInference
Make initial inferences from parameterless function expressions
2014-12-17 16:19:49 -08:00
Daniel Rosenwasser ca5d243ca7 Added test from original issue. 2014-12-17 15:49:00 -08:00
Cyrus Najmabadi b37b98138d Merge branch 'master' into layering
Conflicts:
	src/compiler/checker.ts
	src/compiler/utilities.ts
2014-12-17 15:35:30 -08:00
Daniel Rosenwasser b3ccb562fb Added test for goToDef on union types. 2014-12-17 15:11:43 -08:00
Daniel Rosenwasser 42babc52d3 Use 'definitionCountIs' in union property tests. 2014-12-17 15:11:40 -08:00