6766 Commits

Author SHA1 Message Date
Wilson Hobbs
c2f0c580db add types for escape and unescape methods #18813 (#19015)
* add types for escape and unescape methods #18813
although the issue is marked working as expected, it is important to mention that most major browsers maintain support for escape and unescape, and some javascript codebases moving to typescript may have escape and unescape in them. They are valid JavaScript, and thus they should be included in the global definition.

* add escape and unescape types to lib in tests

* update tests to turn CI green
2017-11-13 10:37:54 -08:00
Andy
e7df83263d
Break out of speculative parsing on bad parameter initializer (#19158)
* Break out of speculative parsing on bad parameter initializer

* Remove uses of 'finally'

* give up -> stop

* Do without exceptions

* Remove `resetAfterSpeculation`

* Use Fail and FailList objects

* Remove `inSpeculation` parameter to parseDelimitedList

* Don't use `createNodeArray`, it's not always in scope

* Move Fail and FailList inside initializeState

* More code review

* More code review
2017-11-13 09:18:36 -08:00
Nathan Shively-Sanders
7771d0c1fc
Merge pull request #19934 from Microsoft/add-starter-kit-to-user-tests
Add starter kit to user tests
2017-11-13 08:54:52 -08:00
Anders Hejlsberg
b8fbf884d0
Merge pull request #19926 from Microsoft/improvePrimitiveComparable
Bidirectional comparable relation for primitive types
2017-11-11 09:15:24 -08:00
Nathan Shively-Sanders
d4c001d47c Add test w/submodules for our starter kits 2017-11-10 14:20:55 -08:00
Nathan Shively-Sanders
d66e94d09e ExternalCompileRunner works with submodules
If there is a test.json in the directory, it expects to find a
submodule in the directory. The submodule should have the same name as
the directory itself. test.json contains a list of global types that
need to be available, or the empty list if none.
2017-11-10 13:50:18 -08:00
Anders Hejlsberg
16b68ff25b Fix typo 2017-11-10 13:46:51 -08:00
Anders Hejlsberg
d15926d9c7 Add test 2017-11-10 13:13:32 -08:00
Anders Hejlsberg
afec1e1fa1 Update test 2017-11-10 08:39:29 -08:00
Anders Hejlsberg
197c635994 Update tests 2017-11-10 08:36:50 -08:00
Wesley Wigham
16efae2433
Consider the commonjs module indicator as a module indicator (#18490)
* Consider the commonjs module indicator as an indicator that something is effectively an external module

* Only use commonjs module indicator when targeting commonjs
2017-11-09 16:49:04 -08:00
Andy
65a191fa2b
For import completion of default import, convert module name to identifier (#19875)
* For import completion of default import, convert module name to identifier

* Suggestions from code review
2017-11-09 13:13:23 -08:00
Andy
90ae9ffe6e
If there is an export default x; alias declaration, disallow other default exports (#19872) 2017-11-09 12:21:37 -08:00
Wesley Wigham
a1014b2b13
Mark all parameters as needed for metadata when one is decorated (#19849)
* Mark all properties as needed for metadata when one is decorated

* Add restarg test
2017-11-09 00:26:33 -08:00
Wesley Wigham
ceaeffa3ab
Fix declaration emit for imported export alias specifiers (#19852)
* Badness

* Revert #3641, whose original bug has been fixed by other means

* Add another repro
2017-11-08 18:44:46 -08:00
wenlu.wang
e9841f3899 fix completions protected members in recursive generic types (#19192) (#19242) 2017-11-08 17:44:12 -08:00
Nathan Shively-Sanders
90f87ef180
Merge pull request #17765 from tycho01/6229-known-length-tuples
add `strictTuples` flag giving tuples known length
2017-11-08 15:38:39 -08:00
Nathan Shively-Sanders
c1c7926735 Revert "Add TupleBase with unusable mutating Array methods"
This reverts commits
4385444c4488f7d0fe802e58b7de303e088e0a01,
2399d58,
es55de3,
888da3c
2017-11-08 15:18:35 -08:00
Nathan Shively-Sanders
76a3be7c4c
Merge pull request #19838 from Microsoft/narrow-index-signature-property-access
Narrow property access of undeclared properties from string index signatures
2017-11-08 12:10:52 -08:00
Nathan Shively-Sanders
2548aced3f Add a couple of test cases 2017-11-08 10:56:30 -08:00
Adrian Leonhard
a1da5bd5af Changed error for setter when emitting declaration with private param type (#18593)
so that error message refers to prop name instead of param name.

Changed getter errors for similar case so they also refer to prop name.

Fixed bug where static getters wouldn't output their specific error.

Fixes #1976
2017-11-08 10:02:39 -08:00
Andy
1a0ec81488
quickInfo: Display info for signature on a separate line from variable info (#18698) 2017-11-08 09:56:50 -08:00
Nathan Shively-Sanders
6c74b81d7e Test:narrow properties from string index signatures 2017-11-08 09:50:39 -08:00
Andy
ef6f9351b5
Fix undefined error for diagnostic for instantiating an abstract class (#19809)
* Fix undefined error for diagnostic for instantiating an abstract class

* Only use the name-less diagnostic
2017-11-08 09:40:53 -08:00
Aluan Haddad
b2b54cbf5c Import fix add import require support (#19802)
* import fix: suggest import..require where supported if synthetic defaults are unavailable

* Add tests for import..require fix when targeting CommonJS, AMD, and UMD modules

* fix failing tests
2017-11-07 09:45:30 -08:00
Andy
2fcf8b7068
Fix assertion -- an import may come from a require() call (#19667)
* Fix assertion -- an import may come from a require() call

* Add test for `import("./a")`
2017-11-07 07:41:21 -08:00
Aluan Haddad
70cabdda41 fix inconsistencies in import UMD code fixes adapting to module format (#19572)
* improve import code fixes for UMD modules
 - use default import under --allowSyntheticDefaultImports
 - import..require support
 - make make quick fix info match resulting import
 - make diagnostics

* Address PR feedback:
 - extract test for synethetic default imports into getAllowSyntheticDefaultImports in core.ts
 - use getAllowSyntheticDefaultImports in checker.ts and importFixes.ts
 - move compilerOptions to top level destructuring

* add tests

* remove `import =` quick fix and supporting code.

* update feature tests

* remove errant whitespace
2017-11-06 22:55:37 -08:00
Andy
6d273cfb33
Consistently use "JSX Attribute" completion kind (#19781)
* Consistently use "JSX Attribute" completion kind

* Update tests and fix bug

* Fix bug: In a JsxOpeningElement, if at an Identifier we are not at an attribute but at the tag itself.
If at a GreaterThanToken, we are about to fill in an attribute.
2017-11-06 19:14:24 -08:00
Ron Buckton
3f248ecfe1
Merge pull request #19452 from Microsoft/compareStrings
Clean up outdated string comparison logic
2017-11-06 18:48:15 -08:00
Wesley Wigham
d79c37cd19
Discriminate contextual types (#19733)
* Discriminate contextual types

* Invert conditional

* Update findMatchingDiscriminantType and baselines
2017-11-06 16:09:35 -08:00
Nathan Shively-Sanders
888da3c3da Update baselines 2017-11-06 15:55:16 -08:00
Sean Barag
a46d2705ef Use documentation comments from inherited properties when @inheritDoc is present (#18804)
* Use documentation comments from inherited properties when @inheritDoc is present

The JSDoc `@ineheritDoc` [tag](http://usejsdoc.org/tags-inheritdoc.html)
"indicates that a symbol should inherit its documentation from its
parent class".  In the case of a TypeScript file, this also includes
implemented interfaces and parent interfaces.

With this change, a class method or property (or an interface property)
with the `@inheritDoc` tag in its JSDoc comment will automatically use
the comments from its nearest ancestor that has no `@inheritDoc` tag.
To prevent breaking backwards compatibility,
`Symbol.getDocumentationComment` now accepts an optional `TypeChecker`
instance to support this feature.

fixes #8912

* Use ts.getJSDocTags as per @andy-ms 's recommendation

* Convert @inheritDoc tests to verify.quickInfoAt

* Concatenate inherited and local docs when @inheritDoc is present

* Make typeChecker param explicitly `TypeChecker | undefined`

* Re-accept baseline after switch to explicit `| undefined`

* Update APISample_jsodc.ts to match new getDocumentationComment signature

* Re-accept baselines after rebasing
2017-11-06 13:18:21 -08:00
Mohamed Hegazy
5c173f4436 Remove test 2017-11-06 13:00:05 -08:00
Eugene Timokhov
5b9905d5a4 Added empty constructors to TypedArrays from es2017 (#19680) 2017-11-06 13:00:05 -08:00
Wesley Wigham
0593ba27d8
Make getContextualTypeOfApparentType mapType over unions (#17668)
* Instantiate contextual types while in an inferrential context

* Limit scope of instantiation to only when likely needed

* Still get aparent type

* Expand test

* Fix nit

* Handle JSX and array

* Tests for the JSX and Array cases

* After much deliberation and inspection, much simpler fix

After much deliberation and inspection, much simpler fix

Undo

Redo
2017-11-06 12:52:33 -08:00
Wesley Wigham
4f48bf80fe
Revised emit for computed property names, including with decorators (#19430)
* Revised emit for computed property names

* Fix downlevel name generation scopes

* Accept slightly more conservative baseline

* First feedback pass

* Reduce number of nonrequired variable declarations and assignments

* Remove side-effect-free identifier references

* skip partially emitted expressions

* Comments, move starsOnNewLine to emitNode

* Put expressions on newlines when inlined in class expressions for consistency

* Update new ref

* Fix typo in comment
2017-11-06 12:51:34 -08:00
Nathan Shively-Sanders
c2374c4ec3 Merge branch 'master' into 6229-known-length-tuples 2017-11-06 10:51:34 -08:00
Anders Hejlsberg
b5f4a83365
Merge pull request #19745 from Microsoft/emptyArrayInference
No inference from empty array literals
2017-11-06 10:45:45 -08:00
Anders Hejlsberg
7a4808a89e
Merge pull request #19774 from Microsoft/fixInvariantGenericErrors
Fix invariant generic error elaboration logic
2017-11-06 10:42:32 -08:00
Nathan Shively-Sanders
868d36d51d
Merge pull request #19770 from Microsoft/remove-readonly-from-spread-index-sigs
Remove readonly from index signatures of a spread
2017-11-06 10:20:57 -08:00
Benjamin Lichtman
4977bf4328
Merge pull request #19544 from uniqueiniquity/interfaceJsDoc
Insert JsDoc comment templates for additional nodes
2017-11-06 09:49:59 -08:00
Anders Hejlsberg
8d991f70b3
Merge pull request #19741 from Microsoft/fixMappedTypeModifiers
Check combined mapped type modifiers
2017-11-06 09:35:28 -08:00
Anders Hejlsberg
baafe5157e Add regression test 2017-11-06 09:25:51 -08:00
Nathan Shively-Sanders
7788d293c4 Test:spread removes readonly from index signatures 2017-11-06 08:16:15 -08:00
Anders Hejlsberg
0a4f60e87b Add tests 2017-11-04 17:26:12 -07:00
Anders Hejlsberg
9619dc14f9 Add tests 2017-11-04 08:08:28 -07:00
Ron Buckton
31c3d444f1 Merge branch 'master' into compareStrings 2017-11-03 23:01:51 -07:00
Andy
845c066923
Check for unused locals in commonjs modules (#19612) 2017-11-03 17:46:19 -07:00
uniqueiniquity
d2114e1b9e Rename offsets in tests 2017-11-03 16:14:47 -07:00
Andy
bb7fb7dda9
For getCompletionsAtPosition, require a flag to provide completions with code actions (#19687)
* For getCompletionsAtPosition, require a flag to provide completions with code actions

* Change name

* Increase API version

* Update API baselines

* Add comment

* Update API baseline
2017-11-03 15:55:31 -07:00