Andy
0ae42ea3de
Allow relative imports of '.js' files when --noImplicitAny is disabled ( #18489 )
...
* Allow relative imports of '.js' files when `--noImplicitAny` is disabled
* Update baselines, and don't ignore a diagnostic about missing JSX
2017-09-19 12:42:29 -07:00
Nathan Shively-Sanders
339a7e5f63
Merge branch 'master' into make-jsdoc-getters-public
2017-09-19 11:20:06 -07:00
Armando Aguirre
1989b70374
Merge pull request #18192 from armanio123/FixExpressionExpectedAtEOF
...
Added logic to check for EOF when creating a missing node.
2017-09-19 10:13:20 -07:00
Nathan Shively-Sanders
cc678a5184
Merge pull request #18440 from Microsoft/fix-javascript-signature-instantiation
...
Fix javascript signature instantiation
2017-09-19 08:43:16 -07:00
Ivan Enderlin
fe0ba0c743
fix: Add missing opening quote ( #18534 )
...
And thank you for this tool!
2017-09-18 11:21:33 -07:00
Andy
79e12eb48b
Ensure that emitter calls callbacks for empty blocks ( #18547 )
2017-09-18 10:05:44 -07:00
Nathan Shively-Sanders
cb8d9d6143
Revert spread-falsy-union/fix spread of primitive
...
Turns out partialising falsy unions wasn't needed -- I was just
returning the wrong thing when spreading primitives.
2017-09-15 16:11:41 -07:00
Nathan Shively-Sanders
7497d4cb3a
Merge branch 'master' into allow-booleans-in-spreads
2017-09-15 10:26:57 -07:00
Nathan Shively-Sanders
9c6f65175b
Refactor truthy-spread-union creation for performance
...
Only create properties once, only if needed, and don't create an
intermediate anonymous type. The code is also inlined with the rest of
`getSpreadType`.
2017-09-15 10:05:14 -07:00
Wesley Wigham
e1ede37ec7
Add name to amd definition in umd module if present ( #18479 )
2017-09-14 14:41:56 -07:00
Andy
0747b33038
Fixes to emit / format for codeFix ( #18484 )
2017-09-14 14:30:50 -07:00
Armando Aguirre
21bbdd33c5
Merge pull request #17415 from armanio123/FixRenameInDefaultLibrary
...
Excluded the default library from rename service.
2017-09-14 14:04:46 -07:00
Andy
66abcb9166
Handle undefined symbol.declarations in cloneSymbol ( #18474 )
2017-09-14 13:03:12 -07:00
Nathan Shively-Sanders
b934c8bcbd
Merge pull request #18417 from Microsoft/fail-spec-lambda-parsing-on-parameter-initialiser-missing-=
...
Fail speculative parsing of arrow functions when their parameter initialisers are missing a =
2017-09-14 13:01:51 -07:00
Andy
89eb06e475
For completions of union, exclude types with methods ( #18124 )
...
For completions of union, exclude arrays
2017-09-14 12:37:38 -07:00
Andy
d1e2242ee4
Allow to access exports from inside a commonjs module ( #17745 )
...
* Allow to access `exports` from inside a commonjs module
* Don't contextually type `this` in `exports.f = function() { ... }`
* Update test
2017-09-14 12:36:55 -07:00
Andy
3062c6309b
Simplify some code in getSymbolAtLocation ( #18470 )
2017-09-14 12:36:29 -07:00
Armando Aguirre
b03fbaf313
Merge branch 'master' into FixRenameInDefaultLibrary
2017-09-14 12:01:31 -07:00
Andy
e91af7d30d
Allow template string with no substitutions to be used as a string literal type ( #18452 )
2017-09-14 11:19:54 -07:00
Nathan Shively-Sanders
18653a5c5d
Use removeDefinitelyFalsyTypes for building partial type
2017-09-14 11:18:48 -07:00
Wesley Wigham
76eab54ab7
Add error for using generalized expressions with export assignments in ambient contexts ( #18444 )
2017-09-14 11:11:54 -07:00
Anders Hejlsberg
2077835ff7
Merge pull request #18438 from Microsoft/unionIntersectionUnit
...
Remove empty intersection types in unit types
2017-09-14 18:44:02 +01:00
Nathan Shively-Sanders
274faa4e9c
Merge branch 'master' into allow-booleans-in-spreads
2017-09-14 10:30:58 -07:00
Andy
cf53743bd6
In isInPropertyInitializer, don't bail out at a PropertyAssignment ( #18449 )
2017-09-14 07:59:53 -07:00
Nathan Shively-Sanders
fbdb14833a
Improve naming of getPartialTypeFromFalsyUnion
2017-09-13 14:58:35 -07:00
Nathan Shively-Sanders
d951c14052
Allow all possibly falsy types in spreads
...
And update tests to reflect that
2017-09-13 14:56:15 -07:00
Nathan Shively-Sanders
60f1d4573d
Allow booleans in spread types
...
Special-case types produced by `bool && expr` with the type `false | T`.
This spreads `Partial<T>` instead of `false | T`.
2017-09-13 14:04:14 -07:00
Anders Hejlsberg
c64beb90df
Remove intersections of object and nullable types from union types
2017-09-13 11:52:10 -07:00
Nathan Shively-Sanders
a1d1a2219b
Make isJavascript parameters required
...
This is a bit wordy, but will probably prevent bugs similar to #18254 in
the future.
2017-09-13 10:44:11 -07:00
Nathan Shively-Sanders
5d51a42030
Use createMissingNode for sentinel node
2017-09-13 10:26:11 -07:00
Nathan Shively-Sanders
d1efefec9c
Merge branch 'master' into fail-spec-lambda-parsing-on-parameter-initialiser-missing-=
2017-09-13 09:30:57 -07:00
Nathan Shively-Sanders
d762f55199
Fix:Instantiate javascript constructor signatures
...
getSignatureInstantation takes a parameter that tells whether the
signature comes from Javascript and therefore is allowed to pass fewer
than the required number of type arguments. (Defaults are chosen if this
is the case.)
Previously, getInstantiatedConstructorsForTypeArguments forgot to
provide this argument, and constructors with insufficient type arguments
would cause a crash because getSignatureInstantiation would not know to
fill in the missing type arguments.
2017-09-13 09:23:57 -07:00
Andy
2a70bf5158
Don't count a write-only reference as a use ( #17752 )
...
* Don't count a write-only reference as a use
* Split isWriteAccess to isWriteOnlyAccess and isReadOnlyAccess
* Update "unusedParameterUsedInTypeOf" to use "b"
* Update diagnostic messages: "is never used" -> "its value is never read"
* Use a WriteKind enum
* Rename enum and move documentation to enum members
2017-09-13 09:02:33 -07:00
Andrew Casey
40e459117a
Merge pull request #18343 from amcasey/InsertionPosition
...
Improve insertion position of extracted methods
2017-09-12 16:48:45 -07:00
Nathan Shively-Sanders
d8ace9ddfb
Don't parse param init when = is required but missing
...
Makes another test case pass that was taking exponential time to parse,
because now it notices that the = is not present and doesn't even try to
parse the initialiser expression.
2017-09-12 14:41:51 -07:00
Nathan Shively-Sanders
4c4316da72
Fail spec parsing lambdas on parameter missing a =
...
Fail speculative parsing of arrow function expressions whenever it has a
parameter with an initialiser that is missing '='. Ordinarily this is
allowed for better error recovery in the language service, but for
speculative parsing, the errors can compound. When the initialiser is an
error, and when the '=>' is missing (which is also allowed), what is
putatively an arrow function may actually be something else.
For example, `(a / 8) + function ()
{ }` is currently parsed as if someone had intended to write
`(a = /8)+function()/) => { }` but they forgot the `=` of the
initialiser, the `=>` of the lambda, forgot to close the regular
expression, and mistakenly inserted a newline right after the regular
expression.
2017-09-12 14:01:49 -07:00
Wesley Wigham
403f585622
enclosingDeclaration can be undefined within getAccessibleSymbolChain ( #18400 )
2017-09-12 10:43:24 -07:00
Nathan Shively-Sanders
2fbc2259a1
Merge pull request #18392 from Microsoft/fix-contextually-typing-arguments-object
...
Fix contextually typing arguments object
2017-09-11 16:22:17 -07:00
Anders Hejlsberg
d90814bc57
Merge pull request #18391 from Microsoft/fixMappedTypeInference
...
Inference for higher order mapped, index and lookup types
2017-09-11 20:47:38 +01:00
Anders Hejlsberg
d65a3e1c67
Merge pull request #18363 from Microsoft/fixIntersectionInference
...
Fix intersection inference
2017-09-11 20:46:43 +01:00
Anders Hejlsberg
1b49c8f0a8
Merge pull request #18246 from Microsoft/fixControlFlowStackOverflow
...
Error on excessively large control flow graphs
2017-09-11 20:45:22 +01:00
Herrington Darkholme
29d5e4dadd
fix #18225 , fix error message on abstract class instance ( #18368 )
...
* fix #18225 , fix error message on abstract class instance
abstract class check should be inside constructor call
* add new test and accept baseline
2017-09-11 11:21:35 -07:00
Nathan Shively-Sanders
2fdb5b8659
assignContextualParameterTypes handles arguments object
...
Previously, it would crash — the arguments object is a transient
symbol with no declaration, and `getEffectiveTypeAnnotationNode`
does not accept `undefined`.
2017-09-11 11:16:01 -07:00
Anders Hejlsberg
63d746bc4c
Higher order inference for mapped, index and lookup types
2017-09-11 10:24:27 -07:00
Wesley Wigham
eb80799ef0
Care about esnext where we look for es2015 ( #18331 )
...
* Care about esnext where we look for es2015
* Update diagnostic message to be more agnostic
2017-09-09 16:30:06 -07:00
Anders Hejlsberg
f40f0db676
Preserve intersections on the source side in type inference
2017-09-09 12:43:39 -07:00
Andy
e51e91dd2c
Change wording of scope description ( #18342 )
2017-09-09 05:52:52 -07:00
Anders Hejlsberg
c671c3ac06
Only track flow analysis stack depth
2017-09-08 15:51:11 -07:00
Andrew Casey
e77425f984
Delete staticAssertNever in favor of assertTypeIsNever
2017-09-08 14:36:21 -07:00
Anders Hejlsberg
ecea2871bd
Merge branch 'master' into fixControlFlowStackOverflow
2017-09-08 14:26:13 -07:00