Commit Graph

875 Commits

Author SHA1 Message Date
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
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
Jason Freeman 29dfa3d6c0 Add module emit test 2014-12-17 14:33:32 -08:00
Cyrus Najmabadi 6a08c54f42 Merge branch 'master' into sourceFileUpdate
Conflicts:
	src/compiler/checker.ts
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/harness/fourslash.ts
2014-12-17 13:22:04 -08:00
Anders Hejlsberg a667959b1f Accepting new baselines 2014-12-17 11:50:03 -08:00
Anders Hejlsberg 766756b4b1 Merge branch 'master' into spreadAndRest
Conflicts:
	src/compiler/parser.ts
2014-12-17 11:49:45 -08:00
Cyrus Najmabadi cd308e78ba Merge branch 'master' into sourceFileUpdate
Conflicts:
	src/compiler/checker.ts
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/parser.ts
	tests/baselines/reference/FunctionDeclaration5_es6.errors.txt
	tests/baselines/reference/VariableDeclaration2_es6.errors.txt
	tests/baselines/reference/VariableDeclaration4_es6.errors.txt
	tests/baselines/reference/anonymousModules.errors.txt
	tests/baselines/reference/callSignaturesWithParameterInitializers2.errors.txt
	tests/baselines/reference/conflictMarkerTrivia1.errors.txt
	tests/baselines/reference/dottedModuleName.errors.txt
	tests/baselines/reference/innerModExport1.errors.txt
	tests/baselines/reference/innerModExport2.errors.txt
	tests/baselines/reference/parserAccessors10.errors.txt
	tests/baselines/reference/parserComputedPropertyName5.errors.txt
	tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction1.errors.txt
	tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.errors.txt
	tests/baselines/reference/parserModifierOnStatementInBlock2.errors.txt
	tests/baselines/reference/parserSkippedTokens16.errors.txt
	tests/baselines/reference/privateIndexer2.errors.txt
2014-12-16 21:50:10 -08:00