Skip to content

Commit 5542e39

Browse files
committed
Update LKG
1 parent 5656962 commit 5542e39

File tree

6 files changed

+194
-368
lines changed

6 files changed

+194
-368
lines changed

lib/tsc.js

Lines changed: 41 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -12973,25 +12973,6 @@ var ts;
1297312973
}
1297412974
return undefined;
1297512975
}
12976-
function isKnownProperty(type, name) {
12977-
if (type.flags & 80896 && type !== globalObjectType) {
12978-
var resolved = resolveStructuredTypeMembers(type);
12979-
return !!(resolved.properties.length === 0 ||
12980-
resolved.stringIndexType ||
12981-
resolved.numberIndexType ||
12982-
getPropertyOfType(type, name));
12983-
}
12984-
if (type.flags & 49152) {
12985-
for (var _i = 0, _a = type.types; _i < _a.length; _i++) {
12986-
var t = _a[_i];
12987-
if (isKnownProperty(t, name)) {
12988-
return true;
12989-
}
12990-
}
12991-
return false;
12992-
}
12993-
return true;
12994-
}
1299512976
function getSignaturesOfStructuredType(type, kind) {
1299612977
if (type.flags & 130048) {
1299712978
var resolved = resolveStructuredTypeMembers(type);
@@ -13447,7 +13428,7 @@ var ts;
1344713428
}
1344813429
function createTypedPropertyDescriptorType(propertyType) {
1344913430
var globalTypedPropertyDescriptorType = getGlobalTypedPropertyDescriptorType();
13450-
return globalTypedPropertyDescriptorType !== emptyObjectType
13431+
return globalTypedPropertyDescriptorType !== emptyGenericType
1345113432
? createTypeReference(globalTypedPropertyDescriptorType, [propertyType])
1345213433
: emptyObjectType;
1345313434
}
@@ -13500,68 +13481,19 @@ var ts;
1350013481
addTypeToSet(typeSet, type, typeSetKind);
1350113482
}
1350213483
}
13503-
function isObjectLiteralTypeDuplicateOf(source, target) {
13504-
var sourceProperties = getPropertiesOfObjectType(source);
13505-
var targetProperties = getPropertiesOfObjectType(target);
13506-
if (sourceProperties.length !== targetProperties.length) {
13507-
return false;
13508-
}
13509-
for (var _i = 0; _i < sourceProperties.length; _i++) {
13510-
var sourceProp = sourceProperties[_i];
13511-
var targetProp = getPropertyOfObjectType(target, sourceProp.name);
13512-
if (!targetProp ||
13513-
getDeclarationFlagsFromSymbol(targetProp) & (32 | 64) ||
13514-
!isTypeDuplicateOf(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp))) {
13515-
return false;
13516-
}
13517-
}
13518-
return true;
13519-
}
13520-
function isTupleTypeDuplicateOf(source, target) {
13521-
var sourceTypes = source.elementTypes;
13522-
var targetTypes = target.elementTypes;
13523-
if (sourceTypes.length !== targetTypes.length) {
13524-
return false;
13525-
}
13526-
for (var i = 0; i < sourceTypes.length; i++) {
13527-
if (!isTypeDuplicateOf(sourceTypes[i], targetTypes[i])) {
13528-
return false;
13529-
}
13530-
}
13531-
return true;
13532-
}
13533-
function isTypeDuplicateOf(source, target) {
13534-
if (source === target) {
13535-
return true;
13536-
}
13537-
if (source.flags & 32 || source.flags & 64 && !(target.flags & 32)) {
13538-
return true;
13539-
}
13540-
if (source.flags & 524288 && target.flags & 80896) {
13541-
return isObjectLiteralTypeDuplicateOf(source, target);
13542-
}
13543-
if (isArrayType(source) && isArrayType(target)) {
13544-
return isTypeDuplicateOf(source.typeArguments[0], target.typeArguments[0]);
13545-
}
13546-
if (isTupleType(source) && isTupleType(target)) {
13547-
return isTupleTypeDuplicateOf(source, target);
13548-
}
13549-
return isTypeIdenticalTo(source, target);
13550-
}
13551-
function isTypeDuplicateOfSomeType(candidate, types) {
13552-
for (var _i = 0; _i < types.length; _i++) {
13553-
var type = types[_i];
13554-
if (candidate !== type && isTypeDuplicateOf(candidate, type)) {
13484+
function isSubtypeOfAny(candidate, types) {
13485+
for (var i = 0, len = types.length; i < len; i++) {
13486+
if (candidate !== types[i] && isTypeSubtypeOf(candidate, types[i])) {
1355513487
return true;
1355613488
}
1355713489
}
1355813490
return false;
1355913491
}
13560-
function removeDuplicateTypes(types) {
13492+
function removeSubtypes(types) {
1356113493
var i = types.length;
1356213494
while (i > 0) {
1356313495
i--;
13564-
if (isTypeDuplicateOfSomeType(types[i], types)) {
13496+
if (isSubtypeOfAny(types[i], types)) {
1356513497
types.splice(i, 1);
1356613498
}
1356713499
}
@@ -13584,7 +13516,7 @@ var ts;
1358413516
}
1358513517
}
1358613518
}
13587-
function getUnionType(types, noDeduplication) {
13519+
function getUnionType(types, noSubtypeReduction) {
1358813520
if (types.length === 0) {
1358913521
return emptyObjectType;
1359013522
}
@@ -13593,12 +13525,12 @@ var ts;
1359313525
if (containsTypeAny(typeSet)) {
1359413526
return anyType;
1359513527
}
13596-
if (noDeduplication) {
13528+
if (noSubtypeReduction) {
1359713529
removeAllButLast(typeSet, undefinedType);
1359813530
removeAllButLast(typeSet, nullType);
1359913531
}
1360013532
else {
13601-
removeDuplicateTypes(typeSet);
13533+
removeSubtypes(typeSet);
1360213534
}
1360313535
if (typeSet.length === 1) {
1360413536
return typeSet[0];
@@ -14092,6 +14024,26 @@ var ts;
1409214024
}
1409314025
return 0;
1409414026
}
14027+
function isKnownProperty(type, name) {
14028+
if (type.flags & 80896) {
14029+
var resolved = resolveStructuredTypeMembers(type);
14030+
if (relation === assignableRelation && (type === globalObjectType || resolved.properties.length === 0) ||
14031+
resolved.stringIndexType || resolved.numberIndexType || getPropertyOfType(type, name)) {
14032+
return true;
14033+
}
14034+
return false;
14035+
}
14036+
if (type.flags & 49152) {
14037+
for (var _i = 0, _a = type.types; _i < _a.length; _i++) {
14038+
var t = _a[_i];
14039+
if (isKnownProperty(t, name)) {
14040+
return true;
14041+
}
14042+
}
14043+
return false;
14044+
}
14045+
return true;
14046+
}
1409514047
function hasExcessProperties(source, target, reportErrors) {
1409614048
for (var _i = 0, _a = getPropertiesOfObjectType(source); _i < _a.length; _i++) {
1409714049
var prop = _a[_i];
@@ -14764,7 +14716,7 @@ var ts;
1476414716
return getWidenedTypeOfObjectLiteral(type);
1476514717
}
1476614718
if (type.flags & 16384) {
14767-
return getUnionType(ts.map(type.types, getWidenedType));
14719+
return getUnionType(ts.map(type.types, getWidenedType), true);
1476814720
}
1476914721
if (isArrayType(type)) {
1477014722
return createArrayType(getWidenedType(type.typeArguments[0]));
@@ -17262,7 +17214,7 @@ var ts;
1726217214
}
1726317215
function createPromiseType(promisedType) {
1726417216
var globalPromiseType = getGlobalPromiseType();
17265-
if (globalPromiseType !== emptyObjectType) {
17217+
if (globalPromiseType !== emptyGenericType) {
1726617218
promisedType = getAwaitedType(promisedType);
1726717219
return createTypeReference(globalPromiseType, [promisedType]);
1726817220
}
@@ -21343,7 +21295,7 @@ var ts;
2134321295
}
2134421296
function createInstantiatedPromiseLikeType() {
2134521297
var promiseLikeType = getGlobalPromiseLikeType();
21346-
if (promiseLikeType !== emptyObjectType) {
21298+
if (promiseLikeType !== emptyGenericType) {
2134721299
return createTypeReference(promiseLikeType, [anyType]);
2134821300
}
2134921301
return emptyObjectType;
@@ -24459,8 +24411,12 @@ var ts;
2445924411
}
2446024412
}
2446124413
function emitJsxElement(openingNode, children) {
24414+
var syntheticReactRef = ts.createSynthesizedNode(67);
24415+
syntheticReactRef.text = 'React';
24416+
syntheticReactRef.parent = openingNode;
2446224417
emitLeadingComments(openingNode);
24463-
write("React.createElement(");
24418+
emitExpressionIdentifier(syntheticReactRef);
24419+
write(".createElement(");
2446424420
emitTagName(openingNode.tagName);
2446524421
write(", ");
2446624422
if (openingNode.attributes.length === 0) {
@@ -24469,7 +24425,8 @@ var ts;
2446924425
else {
2447024426
var attrs = openingNode.attributes;
2447124427
if (ts.forEach(attrs, function (attr) { return attr.kind === 237; })) {
24472-
write("React.__spread(");
24428+
emitExpressionIdentifier(syntheticReactRef);
24429+
write(".__spread(");
2447324430
var haveOpenedObjectLiteral = false;
2447424431
for (var i_1 = 0; i_1 < attrs.length; i_1++) {
2447524432
if (attrs[i_1].kind === 237) {
@@ -30461,7 +30418,7 @@ var ts;
3046130418
return optionNameMapCache;
3046230419
}
3046330420
ts.getOptionNameMap = getOptionNameMap;
30464-
function parseCommandLine(commandLine) {
30421+
function parseCommandLine(commandLine, readFile) {
3046530422
var options = {};
3046630423
var fileNames = [];
3046730424
var errors = [];
@@ -30520,7 +30477,7 @@ var ts;
3052030477
}
3052130478
}
3052230479
function parseResponseFile(fileName) {
30523-
var text = ts.sys.readFile(fileName);
30480+
var text = readFile ? readFile(fileName) : ts.sys.readFile(fileName);
3052430481
if (!text) {
3052530482
errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, fileName));
3052630483
return;

0 commit comments

Comments
 (0)