Update LKG

This commit is contained in:
Mohamed Hegazy
2017-05-08 13:46:52 -07:00
parent 5c56b4cc13
commit 6beaafc5ca
9 changed files with 1465 additions and 1005 deletions
+252 -177
View File
@@ -142,7 +142,7 @@ var ts;
})(ts || (ts = {}));
var ts;
(function (ts) {
ts.version = "2.3.2";
ts.version = "2.3.3";
})(ts || (ts = {}));
(function (ts) {
ts.collator = typeof Intl === "object" && typeof Intl.Collator === "function" ? new Intl.Collator(undefined, { usage: "sort", sensitivity: "accent" }) : undefined;
@@ -6544,6 +6544,9 @@ var ts;
}
ts.isTrivia = isTrivia;
function getFunctionFlags(node) {
if (!node) {
return 4;
}
var flags = 0;
switch (node.kind) {
case 228:
@@ -9340,7 +9343,7 @@ var ts;
var node = createSynthesizedNode(179);
node.expression = ts.parenthesizeForAccess(expression);
node.name = asName(name);
setEmitFlags(node, 65536);
setEmitFlags(node, 131072);
return node;
}
ts.createPropertyAccess = createPropertyAccess;
@@ -11208,6 +11211,14 @@ var ts;
function createExpressionForMethodDeclaration(method, receiver) {
return ts.aggregateTransformFlags(ts.setOriginalNode(ts.setTextRange(ts.createAssignment(createMemberAccessForPropertyName(receiver, method.name, method.name), ts.setOriginalNode(ts.setTextRange(ts.createFunctionExpression(method.modifiers, method.asteriskToken, undefined, undefined, method.parameters, undefined, method.body), method), method)), method), method));
}
function getInternalName(node, allowComments, allowSourceMaps) {
return getName(node, allowComments, allowSourceMaps, 16384 | 32768);
}
ts.getInternalName = getInternalName;
function isInternalName(node) {
return (ts.getEmitFlags(node) & 32768) !== 0;
}
ts.isInternalName = isInternalName;
function getLocalName(node, allowComments, allowSourceMaps) {
return getName(node, allowComments, allowSourceMaps, 16384);
}
@@ -11302,7 +11313,7 @@ var ts;
var numStatements = source.length;
while (statementOffset < numStatements) {
var statement = source[statementOffset];
if (ts.getEmitFlags(statement) & 524288) {
if (ts.getEmitFlags(statement) & 1048576) {
target.push(visitor ? ts.visitNode(statement, visitor, ts.isStatement) : statement);
}
else {
@@ -28127,23 +28138,34 @@ var ts;
}
var result = -1;
var saveErrorInfo = errorInfo;
outer: for (var _i = 0, targetSignatures_1 = targetSignatures; _i < targetSignatures_1.length; _i++) {
var t = targetSignatures_1[_i];
var shouldElaborateErrors = reportErrors;
for (var _a = 0, sourceSignatures_1 = sourceSignatures; _a < sourceSignatures_1.length; _a++) {
var s = sourceSignatures_1[_a];
var related = signatureRelatedTo(s, t, shouldElaborateErrors);
if (related) {
result &= related;
errorInfo = saveErrorInfo;
continue outer;
if (getObjectFlags(source) & 64 && getObjectFlags(target) & 64 && source.symbol === target.symbol) {
for (var i = 0; i < targetSignatures.length; i++) {
var related = signatureRelatedTo(sourceSignatures[i], targetSignatures[i], reportErrors);
if (!related) {
return 0;
}
shouldElaborateErrors = false;
result &= related;
}
if (shouldElaborateErrors) {
reportError(ts.Diagnostics.Type_0_provides_no_match_for_the_signature_1, typeToString(source), signatureToString(t, undefined, undefined, kind));
}
else {
outer: for (var _i = 0, targetSignatures_1 = targetSignatures; _i < targetSignatures_1.length; _i++) {
var t = targetSignatures_1[_i];
var shouldElaborateErrors = reportErrors;
for (var _a = 0, sourceSignatures_1 = sourceSignatures; _a < sourceSignatures_1.length; _a++) {
var s = sourceSignatures_1[_a];
var related = signatureRelatedTo(s, t, shouldElaborateErrors);
if (related) {
result &= related;
errorInfo = saveErrorInfo;
continue outer;
}
shouldElaborateErrors = false;
}
if (shouldElaborateErrors) {
reportError(ts.Diagnostics.Type_0_provides_no_match_for_the_signature_1, typeToString(source), signatureToString(t, undefined, undefined, kind));
}
return 0;
}
return 0;
}
return result;
}
@@ -31230,6 +31252,7 @@ var ts;
var attributesTable = ts.createMap();
var spread = emptyObjectType;
var attributesArray = [];
var hasSpreadAnyType = false;
for (var _i = 0, _a = attributes.properties; _i < _a.length; _i++) {
var attributeDecl = _a[_i];
var member = attributeDecl.symbol;
@@ -31258,29 +31281,31 @@ var ts;
var exprType = checkExpression(attributeDecl.expression);
if (!isValidSpreadType(exprType)) {
error(attributeDecl, ts.Diagnostics.Spread_types_may_only_be_created_from_object_types);
return anyType;
hasSpreadAnyType = true;
}
if (isTypeAny(exprType)) {
return anyType;
hasSpreadAnyType = true;
}
spread = getSpreadType(spread, exprType);
}
}
if (spread !== emptyObjectType) {
if (attributesArray.length > 0) {
spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable));
attributesArray = [];
attributesTable = ts.createMap();
}
attributesArray = getPropertiesOfType(spread);
}
attributesTable = ts.createMap();
if (attributesArray) {
ts.forEach(attributesArray, function (attr) {
if (!filter || filter(attr)) {
attributesTable.set(attr.name, attr);
if (!hasSpreadAnyType) {
if (spread !== emptyObjectType) {
if (attributesArray.length > 0) {
spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable));
attributesArray = [];
attributesTable = ts.createMap();
}
});
attributesArray = getPropertiesOfType(spread);
}
attributesTable = ts.createMap();
if (attributesArray) {
ts.forEach(attributesArray, function (attr) {
if (!filter || filter(attr)) {
attributesTable.set(attr.name, attr);
}
});
}
}
var parent = openingLikeElement.parent.kind === 249 ? openingLikeElement.parent : undefined;
if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) {
@@ -31297,7 +31322,7 @@ var ts;
}
}
var jsxChildrenPropertyName = getJsxElementChildrenPropertyname();
if (jsxChildrenPropertyName && jsxChildrenPropertyName !== "") {
if (!hasSpreadAnyType && jsxChildrenPropertyName && jsxChildrenPropertyName !== "") {
if (attributesTable.has(jsxChildrenPropertyName)) {
error(attributes, ts.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten, jsxChildrenPropertyName);
}
@@ -31308,7 +31333,7 @@ var ts;
attributesTable.set(jsxChildrenPropertyName, childrenPropSymbol);
}
}
return createJsxAttributesType(attributes.symbol, attributesTable);
return hasSpreadAnyType ? anyType : createJsxAttributesType(attributes.symbol, attributesTable);
function createJsxAttributesType(symbol, attributesTable) {
var result = createAnonymousType(symbol, attributesTable, emptyArray, emptyArray, undefined, undefined);
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576;
@@ -31367,7 +31392,18 @@ var ts;
return unknownType;
}
}
return getUnionType(ts.map(signatures, getReturnTypeOfSignature), true);
var instantiatedSignatures = [];
for (var _i = 0, signatures_3 = signatures; _i < signatures_3.length; _i++) {
var signature = signatures_3[_i];
if (signature.typeParameters) {
var typeArguments = fillMissingTypeArguments(undefined, signature.typeParameters, 0);
instantiatedSignatures.push(getSignatureInstantiation(signature, typeArguments));
}
else {
instantiatedSignatures.push(signature);
}
}
return getUnionType(ts.map(instantiatedSignatures, getReturnTypeOfSignature), true);
}
function getNameFromJsxElementAttributesContainer(nameOfAttribPropContainer) {
var jsxNamespace = getGlobalSymbol(JsxNames.JSX, 1920, undefined);
@@ -31988,8 +32024,8 @@ var ts;
var specializedIndex = -1;
var spliceIndex;
ts.Debug.assert(!result.length);
for (var _i = 0, signatures_3 = signatures; _i < signatures_3.length; _i++) {
var signature = signatures_3[_i];
for (var _i = 0, signatures_4 = signatures; _i < signatures_4.length; _i++) {
var signature = signatures_4[_i];
var symbol = signature.declaration && getSymbolOfNode(signature.declaration);
var parent = signature.declaration && signature.declaration.parent;
if (!lastSymbol || symbol === lastSymbol) {
@@ -33848,12 +33884,12 @@ var ts;
var func = ts.getContainingFunction(node);
var functionFlags = func && ts.getFunctionFlags(func);
if (node.asteriskToken) {
if (functionFlags & 2) {
if (languageVersion < 4) {
checkExternalEmitHelpers(node, 4096);
}
if ((functionFlags & 3) === 3 &&
languageVersion < 5) {
checkExternalEmitHelpers(node, 26624);
}
else if (languageVersion < 2 && compilerOptions.downlevelIteration) {
if ((functionFlags & 3) === 1 &&
languageVersion < 2 && compilerOptions.downlevelIteration) {
checkExternalEmitHelpers(node, 256);
}
}
@@ -34246,17 +34282,14 @@ var ts;
checkGrammarFunctionLikeDeclaration(node);
}
var functionFlags = ts.getFunctionFlags(node);
if ((functionFlags & 7) === 2 && languageVersion < 4) {
checkExternalEmitHelpers(node, 64);
if (languageVersion < 2) {
checkExternalEmitHelpers(node, 128);
if (!(functionFlags & 4)) {
if ((functionFlags & 3) === 3 && languageVersion < 5) {
checkExternalEmitHelpers(node, 6144);
}
}
if ((functionFlags & 5) === 1) {
if (functionFlags & 2 && languageVersion < 4) {
checkExternalEmitHelpers(node, 2048);
if ((functionFlags & 3) === 2 && languageVersion < 4) {
checkExternalEmitHelpers(node, 64);
}
else if (languageVersion < 2) {
if ((functionFlags & 3) !== 0 && languageVersion < 2) {
checkExternalEmitHelpers(node, 128);
}
}
@@ -34279,7 +34312,7 @@ var ts;
}
if (node.type) {
var functionFlags_1 = ts.getFunctionFlags(node);
if ((functionFlags_1 & 5) === 1) {
if ((functionFlags_1 & (4 | 1)) === 1) {
var returnType = getTypeFromTypeNode(node.type);
if (returnType === voidType) {
error(node.type, ts.Diagnostics.A_generator_cannot_have_a_void_type_annotation);
@@ -34835,8 +34868,8 @@ var ts;
if (bodyDeclaration) {
var signatures = getSignaturesOfSymbol(symbol);
var bodySignature = getSignatureFromDeclaration(bodyDeclaration);
for (var _a = 0, signatures_4 = signatures; _a < signatures_4.length; _a++) {
var signature = signatures_4[_a];
for (var _a = 0, signatures_5 = signatures; _a < signatures_5.length; _a++) {
var signature = signatures_5[_a];
if (!isImplementationCompatibleWithOverload(bodySignature, signature)) {
error(signature.declaration, ts.Diagnostics.Overload_signature_is_not_compatible_with_function_implementation);
break;
@@ -35715,11 +35748,12 @@ var ts;
checkGrammarForInOrForOfStatement(node);
if (node.kind === 216) {
if (node.awaitModifier) {
if (languageVersion < 4) {
checkExternalEmitHelpers(node, 8192);
var functionFlags = ts.getFunctionFlags(ts.getContainingFunction(node));
if ((functionFlags & (4 | 2)) === 2 && languageVersion < 5) {
checkExternalEmitHelpers(node, 16384);
}
}
else if (languageVersion < 2 && compilerOptions.downlevelIteration) {
else if (compilerOptions.downlevelIteration && languageVersion < 2) {
checkExternalEmitHelpers(node, 256);
}
}
@@ -36173,7 +36207,10 @@ var ts;
return;
}
var errorNode;
if (propDeclaration && (propDeclaration.name.kind === 144 || prop.parent === containingType.symbol)) {
if (propDeclaration &&
(ts.getSpecialPropertyAssignmentKind(propDeclaration) === 4 ||
propDeclaration.name.kind === 144 ||
prop.parent === containingType.symbol)) {
errorNode = propDeclaration;
}
else if (indexDeclaration) {
@@ -38071,15 +38108,6 @@ var ts;
var type = getWidenedType(getRegularTypeOfExpression(expr));
getSymbolDisplayBuilder().buildTypeDisplay(type, writer, enclosingDeclaration, flags);
}
function writeBaseConstructorTypeOfClass(node, enclosingDeclaration, flags, writer) {
var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(node));
resolveBaseTypesOfClass(classType);
var baseType = classType.resolvedBaseTypes.length ? classType.resolvedBaseTypes[0] : unknownType;
if (!baseType.symbol) {
writer.reportIllegalExtends();
}
getSymbolDisplayBuilder().buildTypeDisplay(baseType, writer, enclosingDeclaration, flags);
}
function hasGlobalName(name) {
return globals.has(name);
}
@@ -38158,7 +38186,6 @@ var ts;
writeTypeOfDeclaration: writeTypeOfDeclaration,
writeReturnTypeOfSignatureDeclaration: writeReturnTypeOfSignatureDeclaration,
writeTypeOfExpression: writeTypeOfExpression,
writeBaseConstructorTypeOfClass: writeBaseConstructorTypeOfClass,
isSymbolAccessible: isSymbolAccessible,
isEntityNameVisible: isEntityNameVisible,
getConstantValue: function (node) {
@@ -38305,7 +38332,7 @@ var ts;
var helpersModule = resolveHelpersModule(sourceFile, location);
if (helpersModule !== unknownSymbol) {
var uncheckedHelpers = helpers & ~requestedExternalEmitHelpers;
for (var helper = 1; helper <= 8192; helper <<= 1) {
for (var helper = 1; helper <= 16384; helper <<= 1) {
if (uncheckedHelpers & helper) {
var name = getHelperName(helper);
var symbol = getSymbol(helpersModule.exports, ts.escapeIdentifier(name), 107455);
@@ -38332,9 +38359,10 @@ var ts;
case 256: return "__values";
case 512: return "__read";
case 1024: return "__spread";
case 2048: return "__asyncGenerator";
case 4096: return "__asyncDelegator";
case 8192: return "__asyncValues";
case 2048: return "__await";
case 4096: return "__asyncGenerator";
case 8192: return "__asyncDelegator";
case 16384: return "__asyncValues";
default: ts.Debug.fail("Unrecognized helper.");
}
}
@@ -40800,7 +40828,7 @@ var ts;
}
if (statements.length > 1) {
statements.push(ts.createEndOfDeclarationMarker(node));
ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 2097152);
ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 4194304);
}
return ts.singleOrMany(statements);
}
@@ -40846,7 +40874,7 @@ var ts;
enableSubstitutionForClassAliases();
classAliases[ts.getOriginalNodeId(node)] = ts.getSynthesizedClone(temp);
}
ts.setEmitFlags(classExpression, 32768 | ts.getEmitFlags(classExpression));
ts.setEmitFlags(classExpression, 65536 | ts.getEmitFlags(classExpression));
expressions.push(ts.startOnNewLine(ts.createAssignment(temp, classExpression)));
ts.addRange(expressions, generateInitializedPropertyExpressions(staticProperties, temp));
expressions.push(ts.startOnNewLine(temp));
@@ -41684,13 +41712,13 @@ var ts;
ts.setSourceMapRange(statement, node);
}
ts.setCommentRange(statement, node);
ts.setEmitFlags(statement, 1024 | 2097152);
ts.setEmitFlags(statement, 1024 | 4194304);
statements.push(statement);
return true;
}
else {
var mergeMarker = ts.createMergeDeclarationMarker(statement);
ts.setEmitFlags(mergeMarker, 1536 | 2097152);
ts.setEmitFlags(mergeMarker, 1536 | 4194304);
statements.push(mergeMarker);
return false;
}
@@ -42318,7 +42346,7 @@ var ts;
function createAwaiterHelper(context, hasLexicalArguments, promiseConstructor, body) {
context.requestEmitHelper(awaiterHelper);
var generatorFunc = ts.createFunctionExpression(undefined, ts.createToken(39), undefined, undefined, [], undefined, body);
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 131072;
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144;
return ts.createCall(ts.getHelperName("__awaiter"), undefined, [
ts.createThis(),
hasLexicalArguments ? ts.createIdentifier("arguments") : ts.createVoidZero(),
@@ -42421,19 +42449,14 @@ var ts;
}
function visitAwaitExpression(node) {
if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1) {
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
return ts.setOriginalNode(ts.setTextRange(ts.createYield(undefined, ts.createArrayLiteral([ts.createLiteral("await"), expression])), node), node);
return ts.setOriginalNode(ts.setTextRange(ts.createYield(createAwaitHelper(context, ts.visitNode(node.expression, visitor, ts.isExpression))), node), node);
}
return ts.visitEachChild(node, visitor, context);
}
function visitYieldExpression(node) {
if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1) {
if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1 && node.asteriskToken) {
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
return ts.updateYield(node, node.asteriskToken, node.asteriskToken
? createAsyncDelegatorHelper(context, expression, expression)
: ts.createArrayLiteral(expression
? [ts.createLiteral("yield"), expression]
: [ts.createLiteral("yield")]));
return ts.setOriginalNode(ts.setTextRange(ts.createYield(createAwaitHelper(context, ts.updateYield(node, node.asteriskToken, createAsyncDelegatorHelper(context, createAsyncValuesHelper(context, expression, expression), expression)))), node), node);
}
return ts.visitEachChild(node, visitor, context);
}
@@ -42560,6 +42583,9 @@ var ts;
}
return ts.setEmitFlags(ts.setTextRange(ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), statementsLocation), true), bodyLocation), 48 | 384);
}
function awaitAsYield(expression) {
return ts.createYield(undefined, enclosingFunctionFlags & 1 ? createAwaitHelper(context, expression) : expression);
}
function transformForAwaitOfStatement(node, outermostLabeledStatement) {
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
var iterator = ts.isIdentifier(expression) ? ts.getGeneratedNameForNode(expression) : ts.createTempVariable(undefined);
@@ -42567,19 +42593,17 @@ var ts;
var errorRecord = ts.createUniqueName("e");
var catchVariable = ts.getGeneratedNameForNode(errorRecord);
var returnMethod = ts.createTempVariable(undefined);
var values = createAsyncValuesHelper(context, expression, node.expression);
var next = ts.createYield(undefined, enclosingFunctionFlags & 1
? ts.createArrayLiteral([
ts.createLiteral("await"),
ts.createCall(ts.createPropertyAccess(iterator, "next"), undefined, [])
])
: ts.createCall(ts.createPropertyAccess(iterator, "next"), undefined, []));
var callValues = createAsyncValuesHelper(context, expression, node.expression);
var callNext = ts.createCall(ts.createPropertyAccess(iterator, "next"), undefined, []);
var getDone = ts.createPropertyAccess(result, "done");
var getValue = ts.createPropertyAccess(result, "value");
var callReturn = ts.createFunctionCall(returnMethod, iterator, []);
hoistVariableDeclaration(errorRecord);
hoistVariableDeclaration(returnMethod);
var forStatement = ts.setEmitFlags(ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([
ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, values), node.expression),
ts.createVariableDeclaration(result, undefined, next)
]), node.expression), 1048576), ts.createLogicalNot(ts.createPropertyAccess(result, "done")), ts.createAssignment(result, next), convertForOfStatementHead(node, ts.createPropertyAccess(result, "value"))), node), 256);
ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, callValues), node.expression),
ts.createVariableDeclaration(result)
]), node.expression), 2097152), ts.createComma(ts.createAssignment(result, awaitAsYield(callNext)), ts.createLogicalNot(getDone)), undefined, convertForOfStatementHead(node, awaitAsYield(getValue))), node), 256);
return ts.createTry(ts.createBlock([
ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement)
]), ts.createCatchClause(ts.createVariableDeclaration(catchVariable), ts.setEmitFlags(ts.createBlock([
@@ -42588,12 +42612,7 @@ var ts;
])))
]), 1)), ts.createBlock([
ts.createTry(ts.createBlock([
ts.setEmitFlags(ts.createIf(ts.createLogicalAnd(ts.createLogicalAnd(result, ts.createLogicalNot(ts.createPropertyAccess(result, "done"))), ts.createAssignment(returnMethod, ts.createPropertyAccess(iterator, "return"))), ts.createStatement(ts.createYield(undefined, enclosingFunctionFlags & 1
? ts.createArrayLiteral([
ts.createLiteral("await"),
ts.createFunctionCall(returnMethod, iterator, [])
])
: ts.createFunctionCall(returnMethod, iterator, [])))), 1)
ts.setEmitFlags(ts.createIf(ts.createLogicalAnd(ts.createLogicalAnd(result, ts.createLogicalNot(getDone)), ts.createAssignment(returnMethod, ts.createPropertyAccess(iterator, "return"))), ts.createStatement(awaitAsYield(callReturn))), 1)
]), undefined, ts.setEmitFlags(ts.createBlock([
ts.setEmitFlags(ts.createIf(errorRecord, ts.createThrow(ts.createPropertyAccess(errorRecord, "error"))), 1)
]), 1))
@@ -42718,7 +42737,7 @@ var ts;
var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1, temp, false, true);
if (ts.some(declarations)) {
var statement = ts.createVariableStatement(undefined, ts.createVariableDeclarationList(declarations));
ts.setEmitFlags(statement, 524288);
ts.setEmitFlags(statement, 1048576);
statements = ts.append(statements, statement);
}
}
@@ -42825,14 +42844,24 @@ var ts;
return ts.createCall(ts.getHelperName("__assign"), undefined, attributesSegments);
}
ts.createAssignHelper = createAssignHelper;
var awaitHelper = {
name: "typescript:await",
scoped: false,
text: "\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\n "
};
function createAwaitHelper(context, expression) {
context.requestEmitHelper(awaitHelper);
return ts.createCall(ts.getHelperName("__await"), undefined, [expression]);
}
var asyncGeneratorHelper = {
name: "typescript:asyncGenerator",
scoped: false,
text: "\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), q = [], c, i;\n return i = { next: verb(\"next\"), \"throw\": verb(\"throw\"), \"return\": verb(\"return\") }, i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; }\n function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } }\n function step(r) { r.done ? settle(c[2], r) : Promise.resolve(r.value[1]).then(r.value[0] === \"yield\" ? send : fulfill, reject); }\n function send(value) { settle(c[2], { value: value, done: false }); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { c = void 0, f(v), next(); }\n };\n "
text: "\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };\n "
};
function createAsyncGeneratorHelper(context, generatorFunc) {
context.requestEmitHelper(awaitHelper);
context.requestEmitHelper(asyncGeneratorHelper);
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 131072;
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144;
return ts.createCall(ts.getHelperName("__asyncGenerator"), undefined, [
ts.createThis(),
ts.createIdentifier("arguments"),
@@ -42842,11 +42871,11 @@ var ts;
var asyncDelegator = {
name: "typescript:asyncDelegator",
scoped: false,
text: "\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i = { next: verb(\"next\"), \"throw\": verb(\"throw\", function (e) { throw e; }), \"return\": verb(\"return\", function (v) { return { value: v, done: true }; }) }, p;\n return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { return function (v) { return v = p && n === \"throw\" ? f(v) : p && v.done ? v : { value: p ? [\"yield\", v.value] : [\"await\", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }\n };\n "
text: "\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : v; }; }\n };\n "
};
function createAsyncDelegatorHelper(context, expression, location) {
context.requestEmitHelper(awaitHelper);
context.requestEmitHelper(asyncDelegator);
context.requestEmitHelper(asyncValues);
return ts.setTextRange(ts.createCall(ts.getHelperName("__asyncDelegator"), undefined, [expression]), location);
}
var asyncValues = {
@@ -43659,9 +43688,9 @@ var ts;
statements.push(exportStatement);
}
var emitFlags = ts.getEmitFlags(node);
if ((emitFlags & 2097152) === 0) {
if ((emitFlags & 4194304) === 0) {
statements.push(ts.createEndOfDeclarationMarker(node));
ts.setEmitFlags(statement, emitFlags | 2097152);
ts.setEmitFlags(statement, emitFlags | 4194304);
}
return ts.singleOrMany(statements);
}
@@ -43674,8 +43703,8 @@ var ts;
}
var extendsClauseElement = ts.getClassExtendsHeritageClauseElement(node);
var classFunction = ts.createFunctionExpression(undefined, undefined, undefined, undefined, extendsClauseElement ? [ts.createParameter(undefined, undefined, undefined, "_super")] : [], undefined, transformClassBody(node, extendsClauseElement));
if (ts.getEmitFlags(node) & 32768) {
ts.setEmitFlags(classFunction, 32768);
if (ts.getEmitFlags(node) & 65536) {
ts.setEmitFlags(classFunction, 65536);
}
var inner = ts.createPartiallyEmittedExpression(classFunction);
inner.end = node.end;
@@ -43694,7 +43723,7 @@ var ts;
addConstructor(statements, node, extendsClauseElement);
addClassMembers(statements, node);
var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentText, node.members.end), 18);
var localName = ts.getLocalName(node);
var localName = ts.getInternalName(node);
var outer = ts.createPartiallyEmittedExpression(localName);
outer.end = closingBraceLocation.end;
ts.setEmitFlags(outer, 1536);
@@ -43718,7 +43747,7 @@ var ts;
var ancestorFacts = enterSubtree(16278, 73);
var constructor = ts.getFirstConstructorWithBody(node);
var hasSynthesizedSuper = hasSynthesizedDefaultSuperCall(constructor, extendsClauseElement !== undefined);
var constructorFunction = ts.createFunctionDeclaration(undefined, undefined, undefined, ts.getDeclarationName(node), undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), undefined, transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper));
var constructorFunction = ts.createFunctionDeclaration(undefined, undefined, undefined, ts.getInternalName(node), undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), undefined, transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper));
ts.setTextRange(constructorFunction, constructor || node);
if (extendsClauseElement) {
ts.setEmitFlags(constructorFunction, 8);
@@ -43882,10 +43911,10 @@ var ts;
function addDefaultValueAssignmentForBindingPattern(statements, parameter, name, initializer) {
var temp = ts.getGeneratedNameForNode(parameter);
if (name.elements.length > 0) {
statements.push(ts.setEmitFlags(ts.createVariableStatement(undefined, ts.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0, temp))), 524288));
statements.push(ts.setEmitFlags(ts.createVariableStatement(undefined, ts.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0, temp))), 1048576));
}
else if (initializer) {
statements.push(ts.setEmitFlags(ts.createStatement(ts.createAssignment(temp, ts.visitNode(initializer, visitor, ts.isExpression))), 524288));
statements.push(ts.setEmitFlags(ts.createStatement(ts.createAssignment(temp, ts.visitNode(initializer, visitor, ts.isExpression))), 1048576));
}
}
function addDefaultValueAssignmentForInitializer(statements, parameter, name, initializer) {
@@ -43895,7 +43924,7 @@ var ts;
]), parameter), 1 | 32 | 384));
statement.startsOnNewLine = true;
ts.setTextRange(statement, parameter);
ts.setEmitFlags(statement, 384 | 32 | 524288);
ts.setEmitFlags(statement, 384 | 32 | 1048576);
statements.push(statement);
}
function shouldAddRestParameter(node, inConstructorWithSynthesizedSuper) {
@@ -43913,7 +43942,7 @@ var ts;
var temp = ts.createLoopVariable();
statements.push(ts.setEmitFlags(ts.setTextRange(ts.createVariableStatement(undefined, ts.createVariableDeclarationList([
ts.createVariableDeclaration(declarationName, undefined, ts.createArrayLiteral([]))
])), parameter), 524288));
])), parameter), 1048576));
var forStatement = ts.createFor(ts.setTextRange(ts.createVariableDeclarationList([
ts.createVariableDeclaration(temp, undefined, ts.createLiteral(restIndex))
]), parameter), ts.setTextRange(ts.createLessThan(temp, ts.createPropertyAccess(ts.createIdentifier("arguments"), "length")), parameter), ts.setTextRange(ts.createPostfixIncrement(temp), parameter), ts.createBlock([
@@ -43921,7 +43950,7 @@ var ts;
? temp
: ts.createSubtract(temp, ts.createLiteral(restIndex))), ts.createElementAccess(ts.createIdentifier("arguments"), temp))), parameter))
]));
ts.setEmitFlags(forStatement, 524288);
ts.setEmitFlags(forStatement, 1048576);
ts.startOnNewLine(forStatement);
statements.push(forStatement);
}
@@ -43935,7 +43964,7 @@ var ts;
var captureThisStatement = ts.createVariableStatement(undefined, ts.createVariableDeclarationList([
ts.createVariableDeclaration("_this", undefined, initializer)
]));
ts.setEmitFlags(captureThisStatement, 1536 | 524288);
ts.setEmitFlags(captureThisStatement, 1536 | 1048576);
ts.setTextRange(captureThisStatement, originalStatement);
ts.setSourceMapRange(captureThisStatement, node);
statements.push(captureThisStatement);
@@ -44075,7 +44104,7 @@ var ts;
return func;
}
function visitFunctionExpression(node) {
var ancestorFacts = ts.getEmitFlags(node) & 131072
var ancestorFacts = ts.getEmitFlags(node) & 262144
? enterSubtree(16278, 69)
: enterSubtree(16286, 65);
var savedConvertedLoopState = convertedLoopState;
@@ -44424,7 +44453,7 @@ var ts;
var forStatement = ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([
ts.setTextRange(ts.createVariableDeclaration(counter, undefined, ts.createLiteral(0)), ts.moveRangePos(node.expression, -1)),
ts.setTextRange(ts.createVariableDeclaration(rhsReference, undefined, expression), node.expression)
]), node.expression), 1048576), ts.setTextRange(ts.createLessThan(counter, ts.createPropertyAccess(rhsReference, "length")), node.expression), ts.setTextRange(ts.createPostfixIncrement(counter), node.expression), convertForOfStatementHead(node, ts.createElementAccess(rhsReference, counter), convertedLoopBodyStatements)), node);
]), node.expression), 2097152), ts.setTextRange(ts.createLessThan(counter, ts.createPropertyAccess(rhsReference, "length")), node.expression), ts.setTextRange(ts.createPostfixIncrement(counter), node.expression), convertForOfStatementHead(node, ts.createElementAccess(rhsReference, counter), convertedLoopBodyStatements)), node);
ts.setEmitFlags(forStatement, 256);
ts.setTextRange(forStatement, node);
return ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel);
@@ -44443,7 +44472,7 @@ var ts;
var forStatement = ts.setEmitFlags(ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([
ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, values), node.expression),
ts.createVariableDeclaration(result, undefined, next)
]), node.expression), 1048576), ts.createLogicalNot(ts.createPropertyAccess(result, "done")), ts.createAssignment(result, next), convertForOfStatementHead(node, ts.createPropertyAccess(result, "value"), convertedLoopBodyStatements)), node), 256);
]), node.expression), 2097152), ts.createLogicalNot(ts.createPropertyAccess(result, "done")), ts.createAssignment(result, next), convertForOfStatementHead(node, ts.createPropertyAccess(result, "value"), convertedLoopBodyStatements)), node), 256);
return ts.createTry(ts.createBlock([
ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel)
]), ts.createCatchClause(ts.createVariableDeclaration(catchVariable), ts.setEmitFlags(ts.createBlock([
@@ -44480,7 +44509,7 @@ var ts;
}
var temp = ts.createTempVariable(hoistVariableDeclaration);
var expressions = [];
var assignment = ts.createAssignment(temp, ts.setEmitFlags(ts.createObjectLiteral(ts.visitNodes(properties, visitor, ts.isObjectLiteralElementLike, 0, numInitialProperties), node.multiLine), 32768));
var assignment = ts.createAssignment(temp, ts.setEmitFlags(ts.createObjectLiteral(ts.visitNodes(properties, visitor, ts.isObjectLiteralElementLike, 0, numInitialProperties), node.multiLine), 65536));
if (node.multiLine) {
assignment.startsOnNewLine = true;
}
@@ -44587,11 +44616,11 @@ var ts;
loopBodyFlags |= 8;
}
if (isAsyncBlockContainingAwait) {
loopBodyFlags |= 131072;
loopBodyFlags |= 262144;
}
var convertedLoopVariable = ts.createVariableStatement(undefined, ts.setEmitFlags(ts.createVariableDeclarationList([
ts.createVariableDeclaration(functionName, undefined, ts.setEmitFlags(ts.createFunctionExpression(undefined, containsYield ? ts.createToken(39) : undefined, undefined, undefined, loopParameters, undefined, loopBody), loopBodyFlags))
]), 1048576));
]), 2097152));
var statements = [convertedLoopVariable];
var extraVariableDeclarations;
if (currentState.argumentsName) {
@@ -44672,7 +44701,7 @@ var ts;
!state.labeledNonLocalContinues;
var call = ts.createCall(loopFunctionExpressionName, undefined, ts.map(parameters, function (p) { return p.name; }));
var callResult = isAsyncBlockContainingAwait
? ts.createYield(ts.createToken(39), ts.setEmitFlags(call, 4194304))
? ts.createYield(ts.createToken(39), ts.setEmitFlags(call, 8388608))
: call;
if (isSimpleLoop) {
statements.push(ts.createStatement(callResult));
@@ -44843,7 +44872,20 @@ var ts;
var savedConvertedLoopState = convertedLoopState;
convertedLoopState = undefined;
var ancestorFacts = enterSubtree(16286, 65);
var updated = ts.visitEachChild(node, visitor, context);
var updated;
if (node.transformFlags & 32768) {
var parameters = ts.visitParameterList(node.parameters, visitor, context);
var body = transformFunctionBody(node);
if (node.kind === 153) {
updated = ts.updateGetAccessor(node, node.decorators, node.modifiers, node.name, parameters, node.type, body);
}
else {
updated = ts.updateSetAccessor(node, node.decorators, node.modifiers, node.name, parameters, body);
}
}
else {
updated = ts.visitEachChild(node, visitor, context);
}
exitSubtree(ancestorFacts, 49152, 0);
convertedLoopState = savedConvertedLoopState;
return updated;
@@ -45086,7 +45128,7 @@ var ts;
return node;
}
function substituteIdentifier(node) {
if (enabledSubstitutions & 2) {
if (enabledSubstitutions & 2 && !ts.isInternalName(node)) {
var original = ts.getParseTreeNode(node, ts.isIdentifier);
if (original && isNameOfDeclarationWithCollidingName(original)) {
return ts.setTextRange(ts.getGeneratedNameForNode(original), node);
@@ -45116,14 +45158,32 @@ var ts;
return node;
}
function substituteExpressionIdentifier(node) {
if (enabledSubstitutions & 2) {
if (enabledSubstitutions & 2 && !ts.isInternalName(node)) {
var declaration = resolver.getReferencedDeclarationWithCollidingName(node);
if (declaration) {
if (declaration && !(ts.isClassLike(declaration) && isPartOfClassBody(declaration, node))) {
return ts.setTextRange(ts.getGeneratedNameForNode(declaration.name), node);
}
}
return node;
}
function isPartOfClassBody(declaration, node) {
var currentNode = ts.getParseTreeNode(node);
if (!currentNode || currentNode === declaration || currentNode.end <= declaration.pos || currentNode.pos >= declaration.end) {
return false;
}
var blockScope = ts.getEnclosingBlockScopeContainer(declaration);
while (currentNode) {
if (currentNode === blockScope || currentNode === declaration) {
return false;
}
if (ts.isClassElement(currentNode) && currentNode.parent === declaration) {
return currentNode.kind !== 149
|| (ts.getModifierFlags(currentNode) & 32) === 0;
}
currentNode = currentNode.parent;
}
return false;
}
function substituteThisKeyword(node) {
if (enabledSubstitutions & 1
&& hierarchyFacts & 16) {
@@ -45132,8 +45192,9 @@ var ts;
return node;
}
function getClassMemberPrefix(node, member) {
var expression = ts.getLocalName(node);
return ts.hasModifier(member, 32) ? expression : ts.createPropertyAccess(expression, "prototype");
return ts.hasModifier(member, 32)
? ts.getInternalName(node)
: ts.createPropertyAccess(ts.getInternalName(node), "prototype");
}
function hasSynthesizedDefaultSuperCall(constructor, hasExtendsClause) {
if (!constructor || !hasExtendsClause) {
@@ -45502,7 +45563,7 @@ var ts;
return undefined;
}
else {
if (ts.getEmitFlags(node) & 524288) {
if (ts.getEmitFlags(node) & 1048576) {
return node;
}
for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) {
@@ -45638,7 +45699,7 @@ var ts;
var resumeLabel = defineLabel();
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
if (node.asteriskToken) {
var iterator = (ts.getEmitFlags(node.expression) & 4194304) === 0
var iterator = (ts.getEmitFlags(node.expression) & 8388608) === 0
? ts.createValuesHelper(context, expression, node)
: expression;
emitYieldStar(iterator, node);
@@ -46603,7 +46664,7 @@ var ts;
currentExceptionBlock = undefined;
withBlockStack = undefined;
var buildResult = buildStatements();
return createGeneratorHelper(context, ts.setEmitFlags(ts.createFunctionExpression(undefined, undefined, undefined, undefined, [ts.createParameter(undefined, undefined, undefined, state)], undefined, ts.createBlock(buildResult, buildResult.length > 0)), 262144));
return createGeneratorHelper(context, ts.setEmitFlags(ts.createFunctionExpression(undefined, undefined, undefined, undefined, [ts.createParameter(undefined, undefined, undefined, state)], undefined, ts.createBlock(buildResult, buildResult.length > 0)), 524288));
}
function buildStatements() {
if (operations) {
@@ -47280,7 +47341,7 @@ var ts;
return node;
}
function hasAssociatedEndOfDeclarationMarker(node) {
return (ts.getEmitFlags(node) & 2097152) !== 0;
return (ts.getEmitFlags(node) & 4194304) !== 0;
}
function visitEndOfDeclarationMarker(node) {
var id = ts.getOriginalNodeId(node);
@@ -47393,7 +47454,7 @@ var ts;
])
]));
}
ts.setEmitFlags(statement, 524288);
ts.setEmitFlags(statement, 1048576);
return statement;
}
function createExportStatement(name, value, location, allowComments) {
@@ -47902,7 +47963,7 @@ var ts;
}
}
function shouldHoistVariableDeclarationList(node) {
return (ts.getEmitFlags(node) & 1048576) === 0
return (ts.getEmitFlags(node) & 2097152) === 0
&& (enclosingBlockScopedContainer.kind === 265
|| (ts.getOriginalNode(node).flags & 3) === 0);
}
@@ -47933,7 +47994,7 @@ var ts;
return node;
}
function hasAssociatedEndOfDeclarationMarker(node) {
return (ts.getEmitFlags(node) & 2097152) !== 0;
return (ts.getEmitFlags(node) & 4194304) !== 0;
}
function visitEndOfDeclarationMarker(node) {
var id = ts.getOriginalNodeId(node);
@@ -49756,8 +49817,7 @@ var ts;
ts.emitDetachedComments(currentText, currentLineMap, writer, ts.writeCommentRange, node, newLine, true);
emitLines(node.statements);
}
function getExportDefaultTempVariableName() {
var baseName = "_default";
function getExportTempVariableName(baseName) {
if (!currentIdentifiers.has(baseName)) {
return baseName;
}
@@ -49770,23 +49830,30 @@ var ts;
}
}
}
function emitTempVariableDeclaration(expr, baseName, diagnostic) {
var tempVarName = getExportTempVariableName(baseName);
if (!noDeclare) {
write("declare ");
}
write("const ");
write(tempVarName);
write(": ");
writer.getSymbolAccessibilityDiagnostic = function () { return diagnostic; };
resolver.writeTypeOfExpression(expr, enclosingDeclaration, 2 | 1024, writer);
write(";");
writeLine();
return tempVarName;
}
function emitExportAssignment(node) {
if (node.expression.kind === 71) {
write(node.isExportEquals ? "export = " : "export default ");
writeTextOfNode(currentText, node.expression);
}
else {
var tempVarName = getExportDefaultTempVariableName();
if (!noDeclare) {
write("declare ");
}
write("var ");
write(tempVarName);
write(": ");
writer.getSymbolAccessibilityDiagnostic = getDefaultExportAccessibilityDiagnostic;
resolver.writeTypeOfExpression(node.expression, enclosingDeclaration, 2 | 1024, writer);
write(";");
writeLine();
var tempVarName = emitTempVariableDeclaration(node.expression, "_default", {
diagnosticMessage: ts.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,
errorNode: node
});
write(node.isExportEquals ? "export = " : "export default ");
write(tempVarName);
}
@@ -49796,12 +49863,6 @@ var ts;
var nodes = resolver.collectLinkedAliases(node.expression);
writeAsynchronousModuleElements(nodes);
}
function getDefaultExportAccessibilityDiagnostic() {
return {
diagnosticMessage: ts.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,
errorNode: node
};
}
}
function isModuleElementVisible(node) {
return resolver.isDeclarationVisible(node);
@@ -50196,7 +50257,7 @@ var ts;
write(">");
}
}
function emitHeritageClause(className, typeReferences, isImplementsList) {
function emitHeritageClause(typeReferences, isImplementsList) {
if (typeReferences) {
write(isImplementsList ? " implements " : " extends ");
emitCommaList(typeReferences, emitTypeOfTypeReference);
@@ -50208,12 +50269,6 @@ var ts;
else if (!isImplementsList && node.expression.kind === 95) {
write("null");
}
else {
writer.getSymbolAccessibilityDiagnostic = getHeritageClauseVisibilityError;
errorNameNode = className;
resolver.writeBaseConstructorTypeOfClass(enclosingDeclaration, enclosingDeclaration, 2 | 1024, writer);
errorNameNode = undefined;
}
function getHeritageClauseVisibilityError() {
var diagnosticMessage;
if (node.parent.parent.kind === 229) {
@@ -50242,6 +50297,19 @@ var ts;
});
}
}
var prevEnclosingDeclaration = enclosingDeclaration;
enclosingDeclaration = node;
var baseTypeNode = ts.getClassExtendsHeritageClauseElement(node);
var tempVarName;
if (baseTypeNode && !ts.isEntityNameExpression(baseTypeNode.expression)) {
tempVarName = baseTypeNode.expression.kind === 95 ?
"null" :
emitTempVariableDeclaration(baseTypeNode.expression, node.name.text + "_base", {
diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,
errorNode: baseTypeNode,
typeName: node.name
});
}
emitJsDocComments(node);
emitModuleElementDeclarationFlags(node);
if (ts.hasModifier(node, 128)) {
@@ -50249,15 +50317,22 @@ var ts;
}
write("class ");
writeTextOfNode(currentText, node.name);
var prevEnclosingDeclaration = enclosingDeclaration;
enclosingDeclaration = node;
emitTypeParameters(node.typeParameters);
var baseTypeNode = ts.getClassExtendsHeritageClauseElement(node);
if (baseTypeNode) {
node.name;
emitHeritageClause(node.name, [baseTypeNode], false);
if (!ts.isEntityNameExpression(baseTypeNode.expression)) {
write(" extends ");
write(tempVarName);
if (baseTypeNode.typeArguments) {
write("<");
emitCommaList(baseTypeNode.typeArguments, emitType);
write(">");
}
}
else {
emitHeritageClause([baseTypeNode], false);
}
}
emitHeritageClause(node.name, ts.getClassImplementsHeritageClauseElements(node), true);
emitHeritageClause(ts.getClassImplementsHeritageClauseElements(node), true);
write(" {");
writeLine();
increaseIndent();
@@ -50278,7 +50353,7 @@ var ts;
emitTypeParameters(node.typeParameters);
var interfaceExtendsTypes = ts.filter(ts.getInterfaceBaseTypeNodes(node), function (base) { return ts.isEntityNameExpression(base.expression); });
if (interfaceExtendsTypes && interfaceExtendsTypes.length) {
emitHeritageClause(node.name, interfaceExtendsTypes, false);
emitHeritageClause(interfaceExtendsTypes, false);
}
write(" {");
writeLine();
@@ -51687,7 +51762,7 @@ var ts;
write("{}");
}
else {
var indentedFlag = ts.getEmitFlags(node) & 32768;
var indentedFlag = ts.getEmitFlags(node) & 65536;
if (indentedFlag) {
increaseIndent();
}
@@ -51702,7 +51777,7 @@ var ts;
function emitPropertyAccessExpression(node) {
var indentBeforeDot = false;
var indentAfterDot = false;
if (!(ts.getEmitFlags(node) & 65536)) {
if (!(ts.getEmitFlags(node) & 131072)) {
var dotRangeStart = node.expression.end;
var dotRangeEnd = ts.skipTrivia(currentSourceFile.text, node.expression.end) + 1;
var dotToken = { kind: 23, pos: dotRangeStart, end: dotRangeEnd };
@@ -52077,11 +52152,11 @@ var ts;
var body = node.body;
if (body) {
if (ts.isBlock(body)) {
var indentedFlag = ts.getEmitFlags(node) & 32768;
var indentedFlag = ts.getEmitFlags(node) & 65536;
if (indentedFlag) {
increaseIndent();
}
if (ts.getEmitFlags(node) & 262144) {
if (ts.getEmitFlags(node) & 524288) {
emitSignatureHead(node);
if (onEmitNode) {
onEmitNode(3, body, emitBlockCallback);
@@ -52184,7 +52259,7 @@ var ts;
emitModifiers(node, node.modifiers);
write("class");
emitNodeWithPrefix(" ", node.name, emitIdentifierName);
var indentedFlag = ts.getEmitFlags(node) & 32768;
var indentedFlag = ts.getEmitFlags(node) & 65536;
if (indentedFlag) {
increaseIndent();
}
+273 -193
View File
@@ -1002,14 +1002,15 @@ var ts;
EmitFlags[EmitFlags["HelperName"] = 4096] = "HelperName";
EmitFlags[EmitFlags["ExportName"] = 8192] = "ExportName";
EmitFlags[EmitFlags["LocalName"] = 16384] = "LocalName";
EmitFlags[EmitFlags["Indented"] = 32768] = "Indented";
EmitFlags[EmitFlags["NoIndentation"] = 65536] = "NoIndentation";
EmitFlags[EmitFlags["AsyncFunctionBody"] = 131072] = "AsyncFunctionBody";
EmitFlags[EmitFlags["ReuseTempVariableScope"] = 262144] = "ReuseTempVariableScope";
EmitFlags[EmitFlags["CustomPrologue"] = 524288] = "CustomPrologue";
EmitFlags[EmitFlags["NoHoisting"] = 1048576] = "NoHoisting";
EmitFlags[EmitFlags["HasEndOfDeclarationMarker"] = 2097152] = "HasEndOfDeclarationMarker";
EmitFlags[EmitFlags["Iterator"] = 4194304] = "Iterator";
EmitFlags[EmitFlags["InternalName"] = 32768] = "InternalName";
EmitFlags[EmitFlags["Indented"] = 65536] = "Indented";
EmitFlags[EmitFlags["NoIndentation"] = 131072] = "NoIndentation";
EmitFlags[EmitFlags["AsyncFunctionBody"] = 262144] = "AsyncFunctionBody";
EmitFlags[EmitFlags["ReuseTempVariableScope"] = 524288] = "ReuseTempVariableScope";
EmitFlags[EmitFlags["CustomPrologue"] = 1048576] = "CustomPrologue";
EmitFlags[EmitFlags["NoHoisting"] = 2097152] = "NoHoisting";
EmitFlags[EmitFlags["HasEndOfDeclarationMarker"] = 4194304] = "HasEndOfDeclarationMarker";
EmitFlags[EmitFlags["Iterator"] = 8388608] = "Iterator";
})(EmitFlags = ts.EmitFlags || (ts.EmitFlags = {}));
var ExternalEmitHelpers;
(function (ExternalEmitHelpers) {
@@ -1024,14 +1025,17 @@ var ts;
ExternalEmitHelpers[ExternalEmitHelpers["Values"] = 256] = "Values";
ExternalEmitHelpers[ExternalEmitHelpers["Read"] = 512] = "Read";
ExternalEmitHelpers[ExternalEmitHelpers["Spread"] = 1024] = "Spread";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncGenerator"] = 2048] = "AsyncGenerator";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncDelegator"] = 4096] = "AsyncDelegator";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncValues"] = 8192] = "AsyncValues";
ExternalEmitHelpers[ExternalEmitHelpers["Await"] = 2048] = "Await";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncGenerator"] = 4096] = "AsyncGenerator";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncDelegator"] = 8192] = "AsyncDelegator";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncValues"] = 16384] = "AsyncValues";
ExternalEmitHelpers[ExternalEmitHelpers["ForOfIncludes"] = 256] = "ForOfIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["ForAwaitOfIncludes"] = 8192] = "ForAwaitOfIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["ForAwaitOfIncludes"] = 16384] = "ForAwaitOfIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncGeneratorIncludes"] = 6144] = "AsyncGeneratorIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncDelegatorIncludes"] = 26624] = "AsyncDelegatorIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["SpreadIncludes"] = 1536] = "SpreadIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["FirstEmitHelper"] = 1] = "FirstEmitHelper";
ExternalEmitHelpers[ExternalEmitHelpers["LastEmitHelper"] = 8192] = "LastEmitHelper";
ExternalEmitHelpers[ExternalEmitHelpers["LastEmitHelper"] = 16384] = "LastEmitHelper";
})(ExternalEmitHelpers = ts.ExternalEmitHelpers || (ts.ExternalEmitHelpers = {}));
var EmitHint;
(function (EmitHint) {
@@ -1102,7 +1106,7 @@ var ts;
})(ts || (ts = {}));
var ts;
(function (ts) {
ts.version = "2.3.2";
ts.version = "2.3.3";
})(ts || (ts = {}));
(function (ts) {
var Ternary;
@@ -6735,12 +6739,13 @@ var ts;
FunctionFlags[FunctionFlags["Normal"] = 0] = "Normal";
FunctionFlags[FunctionFlags["Generator"] = 1] = "Generator";
FunctionFlags[FunctionFlags["Async"] = 2] = "Async";
FunctionFlags[FunctionFlags["AsyncOrAsyncGenerator"] = 3] = "AsyncOrAsyncGenerator";
FunctionFlags[FunctionFlags["Invalid"] = 4] = "Invalid";
FunctionFlags[FunctionFlags["InvalidAsyncOrAsyncGenerator"] = 7] = "InvalidAsyncOrAsyncGenerator";
FunctionFlags[FunctionFlags["InvalidGenerator"] = 5] = "InvalidGenerator";
FunctionFlags[FunctionFlags["AsyncGenerator"] = 3] = "AsyncGenerator";
})(FunctionFlags = ts.FunctionFlags || (ts.FunctionFlags = {}));
function getFunctionFlags(node) {
if (!node) {
return 4;
}
var flags = 0;
switch (node.kind) {
case 228:
@@ -11119,7 +11124,7 @@ var ts;
var node = createSynthesizedNode(179);
node.expression = ts.parenthesizeForAccess(expression);
node.name = asName(name);
setEmitFlags(node, 65536);
setEmitFlags(node, 131072);
return node;
}
ts.createPropertyAccess = createPropertyAccess;
@@ -12987,6 +12992,14 @@ var ts;
function createExpressionForMethodDeclaration(method, receiver) {
return ts.aggregateTransformFlags(ts.setOriginalNode(ts.setTextRange(ts.createAssignment(createMemberAccessForPropertyName(receiver, method.name, method.name), ts.setOriginalNode(ts.setTextRange(ts.createFunctionExpression(method.modifiers, method.asteriskToken, undefined, undefined, method.parameters, undefined, method.body), method), method)), method), method));
}
function getInternalName(node, allowComments, allowSourceMaps) {
return getName(node, allowComments, allowSourceMaps, 16384 | 32768);
}
ts.getInternalName = getInternalName;
function isInternalName(node) {
return (ts.getEmitFlags(node) & 32768) !== 0;
}
ts.isInternalName = isInternalName;
function getLocalName(node, allowComments, allowSourceMaps) {
return getName(node, allowComments, allowSourceMaps, 16384);
}
@@ -13081,7 +13094,7 @@ var ts;
var numStatements = source.length;
while (statementOffset < numStatements) {
var statement = source[statementOffset];
if (ts.getEmitFlags(statement) & 524288) {
if (ts.getEmitFlags(statement) & 1048576) {
target.push(visitor ? ts.visitNode(statement, visitor, ts.isStatement) : statement);
}
else {
@@ -29289,23 +29302,34 @@ var ts;
}
var result = -1;
var saveErrorInfo = errorInfo;
outer: for (var _i = 0, targetSignatures_1 = targetSignatures; _i < targetSignatures_1.length; _i++) {
var t = targetSignatures_1[_i];
var shouldElaborateErrors = reportErrors;
for (var _a = 0, sourceSignatures_1 = sourceSignatures; _a < sourceSignatures_1.length; _a++) {
var s = sourceSignatures_1[_a];
var related = signatureRelatedTo(s, t, shouldElaborateErrors);
if (related) {
result &= related;
errorInfo = saveErrorInfo;
continue outer;
if (getObjectFlags(source) & 64 && getObjectFlags(target) & 64 && source.symbol === target.symbol) {
for (var i = 0; i < targetSignatures.length; i++) {
var related = signatureRelatedTo(sourceSignatures[i], targetSignatures[i], reportErrors);
if (!related) {
return 0;
}
shouldElaborateErrors = false;
result &= related;
}
if (shouldElaborateErrors) {
reportError(ts.Diagnostics.Type_0_provides_no_match_for_the_signature_1, typeToString(source), signatureToString(t, undefined, undefined, kind));
}
else {
outer: for (var _i = 0, targetSignatures_1 = targetSignatures; _i < targetSignatures_1.length; _i++) {
var t = targetSignatures_1[_i];
var shouldElaborateErrors = reportErrors;
for (var _a = 0, sourceSignatures_1 = sourceSignatures; _a < sourceSignatures_1.length; _a++) {
var s = sourceSignatures_1[_a];
var related = signatureRelatedTo(s, t, shouldElaborateErrors);
if (related) {
result &= related;
errorInfo = saveErrorInfo;
continue outer;
}
shouldElaborateErrors = false;
}
if (shouldElaborateErrors) {
reportError(ts.Diagnostics.Type_0_provides_no_match_for_the_signature_1, typeToString(source), signatureToString(t, undefined, undefined, kind));
}
return 0;
}
return 0;
}
return result;
}
@@ -32392,6 +32416,7 @@ var ts;
var attributesTable = ts.createMap();
var spread = emptyObjectType;
var attributesArray = [];
var hasSpreadAnyType = false;
for (var _i = 0, _a = attributes.properties; _i < _a.length; _i++) {
var attributeDecl = _a[_i];
var member = attributeDecl.symbol;
@@ -32420,29 +32445,31 @@ var ts;
var exprType = checkExpression(attributeDecl.expression);
if (!isValidSpreadType(exprType)) {
error(attributeDecl, ts.Diagnostics.Spread_types_may_only_be_created_from_object_types);
return anyType;
hasSpreadAnyType = true;
}
if (isTypeAny(exprType)) {
return anyType;
hasSpreadAnyType = true;
}
spread = getSpreadType(spread, exprType);
}
}
if (spread !== emptyObjectType) {
if (attributesArray.length > 0) {
spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable));
attributesArray = [];
attributesTable = ts.createMap();
}
attributesArray = getPropertiesOfType(spread);
}
attributesTable = ts.createMap();
if (attributesArray) {
ts.forEach(attributesArray, function (attr) {
if (!filter || filter(attr)) {
attributesTable.set(attr.name, attr);
if (!hasSpreadAnyType) {
if (spread !== emptyObjectType) {
if (attributesArray.length > 0) {
spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable));
attributesArray = [];
attributesTable = ts.createMap();
}
});
attributesArray = getPropertiesOfType(spread);
}
attributesTable = ts.createMap();
if (attributesArray) {
ts.forEach(attributesArray, function (attr) {
if (!filter || filter(attr)) {
attributesTable.set(attr.name, attr);
}
});
}
}
var parent = openingLikeElement.parent.kind === 249 ? openingLikeElement.parent : undefined;
if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) {
@@ -32459,7 +32486,7 @@ var ts;
}
}
var jsxChildrenPropertyName = getJsxElementChildrenPropertyname();
if (jsxChildrenPropertyName && jsxChildrenPropertyName !== "") {
if (!hasSpreadAnyType && jsxChildrenPropertyName && jsxChildrenPropertyName !== "") {
if (attributesTable.has(jsxChildrenPropertyName)) {
error(attributes, ts.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten, jsxChildrenPropertyName);
}
@@ -32470,7 +32497,7 @@ var ts;
attributesTable.set(jsxChildrenPropertyName, childrenPropSymbol);
}
}
return createJsxAttributesType(attributes.symbol, attributesTable);
return hasSpreadAnyType ? anyType : createJsxAttributesType(attributes.symbol, attributesTable);
function createJsxAttributesType(symbol, attributesTable) {
var result = createAnonymousType(symbol, attributesTable, emptyArray, emptyArray, undefined, undefined);
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576;
@@ -32529,7 +32556,18 @@ var ts;
return unknownType;
}
}
return getUnionType(ts.map(signatures, getReturnTypeOfSignature), true);
var instantiatedSignatures = [];
for (var _i = 0, signatures_3 = signatures; _i < signatures_3.length; _i++) {
var signature = signatures_3[_i];
if (signature.typeParameters) {
var typeArguments = fillMissingTypeArguments(undefined, signature.typeParameters, 0);
instantiatedSignatures.push(getSignatureInstantiation(signature, typeArguments));
}
else {
instantiatedSignatures.push(signature);
}
}
return getUnionType(ts.map(instantiatedSignatures, getReturnTypeOfSignature), true);
}
function getNameFromJsxElementAttributesContainer(nameOfAttribPropContainer) {
var jsxNamespace = getGlobalSymbol(JsxNames.JSX, 1920, undefined);
@@ -33150,8 +33188,8 @@ var ts;
var specializedIndex = -1;
var spliceIndex;
ts.Debug.assert(!result.length);
for (var _i = 0, signatures_3 = signatures; _i < signatures_3.length; _i++) {
var signature = signatures_3[_i];
for (var _i = 0, signatures_4 = signatures; _i < signatures_4.length; _i++) {
var signature = signatures_4[_i];
var symbol = signature.declaration && getSymbolOfNode(signature.declaration);
var parent = signature.declaration && signature.declaration.parent;
if (!lastSymbol || symbol === lastSymbol) {
@@ -35010,12 +35048,12 @@ var ts;
var func = ts.getContainingFunction(node);
var functionFlags = func && ts.getFunctionFlags(func);
if (node.asteriskToken) {
if (functionFlags & 2) {
if (languageVersion < 4) {
checkExternalEmitHelpers(node, 4096);
}
if ((functionFlags & 3) === 3 &&
languageVersion < 5) {
checkExternalEmitHelpers(node, 26624);
}
else if (languageVersion < 2 && compilerOptions.downlevelIteration) {
if ((functionFlags & 3) === 1 &&
languageVersion < 2 && compilerOptions.downlevelIteration) {
checkExternalEmitHelpers(node, 256);
}
}
@@ -35408,17 +35446,14 @@ var ts;
checkGrammarFunctionLikeDeclaration(node);
}
var functionFlags = ts.getFunctionFlags(node);
if ((functionFlags & 7) === 2 && languageVersion < 4) {
checkExternalEmitHelpers(node, 64);
if (languageVersion < 2) {
checkExternalEmitHelpers(node, 128);
if (!(functionFlags & 4)) {
if ((functionFlags & 3) === 3 && languageVersion < 5) {
checkExternalEmitHelpers(node, 6144);
}
}
if ((functionFlags & 5) === 1) {
if (functionFlags & 2 && languageVersion < 4) {
checkExternalEmitHelpers(node, 2048);
if ((functionFlags & 3) === 2 && languageVersion < 4) {
checkExternalEmitHelpers(node, 64);
}
else if (languageVersion < 2) {
if ((functionFlags & 3) !== 0 && languageVersion < 2) {
checkExternalEmitHelpers(node, 128);
}
}
@@ -35441,7 +35476,7 @@ var ts;
}
if (node.type) {
var functionFlags_1 = ts.getFunctionFlags(node);
if ((functionFlags_1 & 5) === 1) {
if ((functionFlags_1 & (4 | 1)) === 1) {
var returnType = getTypeFromTypeNode(node.type);
if (returnType === voidType) {
error(node.type, ts.Diagnostics.A_generator_cannot_have_a_void_type_annotation);
@@ -36004,8 +36039,8 @@ var ts;
if (bodyDeclaration) {
var signatures = getSignaturesOfSymbol(symbol);
var bodySignature = getSignatureFromDeclaration(bodyDeclaration);
for (var _a = 0, signatures_4 = signatures; _a < signatures_4.length; _a++) {
var signature = signatures_4[_a];
for (var _a = 0, signatures_5 = signatures; _a < signatures_5.length; _a++) {
var signature = signatures_5[_a];
if (!isImplementationCompatibleWithOverload(bodySignature, signature)) {
error(signature.declaration, ts.Diagnostics.Overload_signature_is_not_compatible_with_function_implementation);
break;
@@ -36884,11 +36919,12 @@ var ts;
checkGrammarForInOrForOfStatement(node);
if (node.kind === 216) {
if (node.awaitModifier) {
if (languageVersion < 4) {
checkExternalEmitHelpers(node, 8192);
var functionFlags = ts.getFunctionFlags(ts.getContainingFunction(node));
if ((functionFlags & (4 | 2)) === 2 && languageVersion < 5) {
checkExternalEmitHelpers(node, 16384);
}
}
else if (languageVersion < 2 && compilerOptions.downlevelIteration) {
else if (compilerOptions.downlevelIteration && languageVersion < 2) {
checkExternalEmitHelpers(node, 256);
}
}
@@ -37342,7 +37378,10 @@ var ts;
return;
}
var errorNode;
if (propDeclaration && (propDeclaration.name.kind === 144 || prop.parent === containingType.symbol)) {
if (propDeclaration &&
(ts.getSpecialPropertyAssignmentKind(propDeclaration) === 4 ||
propDeclaration.name.kind === 144 ||
prop.parent === containingType.symbol)) {
errorNode = propDeclaration;
}
else if (indexDeclaration) {
@@ -39240,15 +39279,6 @@ var ts;
var type = getWidenedType(getRegularTypeOfExpression(expr));
getSymbolDisplayBuilder().buildTypeDisplay(type, writer, enclosingDeclaration, flags);
}
function writeBaseConstructorTypeOfClass(node, enclosingDeclaration, flags, writer) {
var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(node));
resolveBaseTypesOfClass(classType);
var baseType = classType.resolvedBaseTypes.length ? classType.resolvedBaseTypes[0] : unknownType;
if (!baseType.symbol) {
writer.reportIllegalExtends();
}
getSymbolDisplayBuilder().buildTypeDisplay(baseType, writer, enclosingDeclaration, flags);
}
function hasGlobalName(name) {
return globals.has(name);
}
@@ -39327,7 +39357,6 @@ var ts;
writeTypeOfDeclaration: writeTypeOfDeclaration,
writeReturnTypeOfSignatureDeclaration: writeReturnTypeOfSignatureDeclaration,
writeTypeOfExpression: writeTypeOfExpression,
writeBaseConstructorTypeOfClass: writeBaseConstructorTypeOfClass,
isSymbolAccessible: isSymbolAccessible,
isEntityNameVisible: isEntityNameVisible,
getConstantValue: function (node) {
@@ -39474,7 +39503,7 @@ var ts;
var helpersModule = resolveHelpersModule(sourceFile, location);
if (helpersModule !== unknownSymbol) {
var uncheckedHelpers = helpers & ~requestedExternalEmitHelpers;
for (var helper = 1; helper <= 8192; helper <<= 1) {
for (var helper = 1; helper <= 16384; helper <<= 1) {
if (uncheckedHelpers & helper) {
var name = getHelperName(helper);
var symbol = getSymbol(helpersModule.exports, ts.escapeIdentifier(name), 107455);
@@ -39501,9 +39530,10 @@ var ts;
case 256: return "__values";
case 512: return "__read";
case 1024: return "__spread";
case 2048: return "__asyncGenerator";
case 4096: return "__asyncDelegator";
case 8192: return "__asyncValues";
case 2048: return "__await";
case 4096: return "__asyncGenerator";
case 8192: return "__asyncDelegator";
case 16384: return "__asyncValues";
default: ts.Debug.fail("Unrecognized helper.");
}
}
@@ -41980,7 +42010,7 @@ var ts;
}
if (statements.length > 1) {
statements.push(ts.createEndOfDeclarationMarker(node));
ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 2097152);
ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 4194304);
}
return ts.singleOrMany(statements);
}
@@ -42026,7 +42056,7 @@ var ts;
enableSubstitutionForClassAliases();
classAliases[ts.getOriginalNodeId(node)] = ts.getSynthesizedClone(temp);
}
ts.setEmitFlags(classExpression, 32768 | ts.getEmitFlags(classExpression));
ts.setEmitFlags(classExpression, 65536 | ts.getEmitFlags(classExpression));
expressions.push(ts.startOnNewLine(ts.createAssignment(temp, classExpression)));
ts.addRange(expressions, generateInitializedPropertyExpressions(staticProperties, temp));
expressions.push(ts.startOnNewLine(temp));
@@ -42864,13 +42894,13 @@ var ts;
ts.setSourceMapRange(statement, node);
}
ts.setCommentRange(statement, node);
ts.setEmitFlags(statement, 1024 | 2097152);
ts.setEmitFlags(statement, 1024 | 4194304);
statements.push(statement);
return true;
}
else {
var mergeMarker = ts.createMergeDeclarationMarker(statement);
ts.setEmitFlags(mergeMarker, 1536 | 2097152);
ts.setEmitFlags(mergeMarker, 1536 | 4194304);
statements.push(mergeMarker);
return false;
}
@@ -43502,7 +43532,7 @@ var ts;
function createAwaiterHelper(context, hasLexicalArguments, promiseConstructor, body) {
context.requestEmitHelper(awaiterHelper);
var generatorFunc = ts.createFunctionExpression(undefined, ts.createToken(39), undefined, undefined, [], undefined, body);
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 131072;
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144;
return ts.createCall(ts.getHelperName("__awaiter"), undefined, [
ts.createThis(),
hasLexicalArguments ? ts.createIdentifier("arguments") : ts.createVoidZero(),
@@ -43609,19 +43639,14 @@ var ts;
}
function visitAwaitExpression(node) {
if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1) {
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
return ts.setOriginalNode(ts.setTextRange(ts.createYield(undefined, ts.createArrayLiteral([ts.createLiteral("await"), expression])), node), node);
return ts.setOriginalNode(ts.setTextRange(ts.createYield(createAwaitHelper(context, ts.visitNode(node.expression, visitor, ts.isExpression))), node), node);
}
return ts.visitEachChild(node, visitor, context);
}
function visitYieldExpression(node) {
if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1) {
if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1 && node.asteriskToken) {
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
return ts.updateYield(node, node.asteriskToken, node.asteriskToken
? createAsyncDelegatorHelper(context, expression, expression)
: ts.createArrayLiteral(expression
? [ts.createLiteral("yield"), expression]
: [ts.createLiteral("yield")]));
return ts.setOriginalNode(ts.setTextRange(ts.createYield(createAwaitHelper(context, ts.updateYield(node, node.asteriskToken, createAsyncDelegatorHelper(context, createAsyncValuesHelper(context, expression, expression), expression)))), node), node);
}
return ts.visitEachChild(node, visitor, context);
}
@@ -43748,6 +43773,9 @@ var ts;
}
return ts.setEmitFlags(ts.setTextRange(ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), statementsLocation), true), bodyLocation), 48 | 384);
}
function awaitAsYield(expression) {
return ts.createYield(undefined, enclosingFunctionFlags & 1 ? createAwaitHelper(context, expression) : expression);
}
function transformForAwaitOfStatement(node, outermostLabeledStatement) {
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
var iterator = ts.isIdentifier(expression) ? ts.getGeneratedNameForNode(expression) : ts.createTempVariable(undefined);
@@ -43755,19 +43783,17 @@ var ts;
var errorRecord = ts.createUniqueName("e");
var catchVariable = ts.getGeneratedNameForNode(errorRecord);
var returnMethod = ts.createTempVariable(undefined);
var values = createAsyncValuesHelper(context, expression, node.expression);
var next = ts.createYield(undefined, enclosingFunctionFlags & 1
? ts.createArrayLiteral([
ts.createLiteral("await"),
ts.createCall(ts.createPropertyAccess(iterator, "next"), undefined, [])
])
: ts.createCall(ts.createPropertyAccess(iterator, "next"), undefined, []));
var callValues = createAsyncValuesHelper(context, expression, node.expression);
var callNext = ts.createCall(ts.createPropertyAccess(iterator, "next"), undefined, []);
var getDone = ts.createPropertyAccess(result, "done");
var getValue = ts.createPropertyAccess(result, "value");
var callReturn = ts.createFunctionCall(returnMethod, iterator, []);
hoistVariableDeclaration(errorRecord);
hoistVariableDeclaration(returnMethod);
var forStatement = ts.setEmitFlags(ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([
ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, values), node.expression),
ts.createVariableDeclaration(result, undefined, next)
]), node.expression), 1048576), ts.createLogicalNot(ts.createPropertyAccess(result, "done")), ts.createAssignment(result, next), convertForOfStatementHead(node, ts.createPropertyAccess(result, "value"))), node), 256);
ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, callValues), node.expression),
ts.createVariableDeclaration(result)
]), node.expression), 2097152), ts.createComma(ts.createAssignment(result, awaitAsYield(callNext)), ts.createLogicalNot(getDone)), undefined, convertForOfStatementHead(node, awaitAsYield(getValue))), node), 256);
return ts.createTry(ts.createBlock([
ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement)
]), ts.createCatchClause(ts.createVariableDeclaration(catchVariable), ts.setEmitFlags(ts.createBlock([
@@ -43776,12 +43802,7 @@ var ts;
])))
]), 1)), ts.createBlock([
ts.createTry(ts.createBlock([
ts.setEmitFlags(ts.createIf(ts.createLogicalAnd(ts.createLogicalAnd(result, ts.createLogicalNot(ts.createPropertyAccess(result, "done"))), ts.createAssignment(returnMethod, ts.createPropertyAccess(iterator, "return"))), ts.createStatement(ts.createYield(undefined, enclosingFunctionFlags & 1
? ts.createArrayLiteral([
ts.createLiteral("await"),
ts.createFunctionCall(returnMethod, iterator, [])
])
: ts.createFunctionCall(returnMethod, iterator, [])))), 1)
ts.setEmitFlags(ts.createIf(ts.createLogicalAnd(ts.createLogicalAnd(result, ts.createLogicalNot(getDone)), ts.createAssignment(returnMethod, ts.createPropertyAccess(iterator, "return"))), ts.createStatement(awaitAsYield(callReturn))), 1)
]), undefined, ts.setEmitFlags(ts.createBlock([
ts.setEmitFlags(ts.createIf(errorRecord, ts.createThrow(ts.createPropertyAccess(errorRecord, "error"))), 1)
]), 1))
@@ -43906,7 +43927,7 @@ var ts;
var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1, temp, false, true);
if (ts.some(declarations)) {
var statement = ts.createVariableStatement(undefined, ts.createVariableDeclarationList(declarations));
ts.setEmitFlags(statement, 524288);
ts.setEmitFlags(statement, 1048576);
statements = ts.append(statements, statement);
}
}
@@ -44013,14 +44034,24 @@ var ts;
return ts.createCall(ts.getHelperName("__assign"), undefined, attributesSegments);
}
ts.createAssignHelper = createAssignHelper;
var awaitHelper = {
name: "typescript:await",
scoped: false,
text: "\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\n "
};
function createAwaitHelper(context, expression) {
context.requestEmitHelper(awaitHelper);
return ts.createCall(ts.getHelperName("__await"), undefined, [expression]);
}
var asyncGeneratorHelper = {
name: "typescript:asyncGenerator",
scoped: false,
text: "\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), q = [], c, i;\n return i = { next: verb(\"next\"), \"throw\": verb(\"throw\"), \"return\": verb(\"return\") }, i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; }\n function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } }\n function step(r) { r.done ? settle(c[2], r) : Promise.resolve(r.value[1]).then(r.value[0] === \"yield\" ? send : fulfill, reject); }\n function send(value) { settle(c[2], { value: value, done: false }); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { c = void 0, f(v), next(); }\n };\n "
text: "\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };\n "
};
function createAsyncGeneratorHelper(context, generatorFunc) {
context.requestEmitHelper(awaitHelper);
context.requestEmitHelper(asyncGeneratorHelper);
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 131072;
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144;
return ts.createCall(ts.getHelperName("__asyncGenerator"), undefined, [
ts.createThis(),
ts.createIdentifier("arguments"),
@@ -44030,11 +44061,11 @@ var ts;
var asyncDelegator = {
name: "typescript:asyncDelegator",
scoped: false,
text: "\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i = { next: verb(\"next\"), \"throw\": verb(\"throw\", function (e) { throw e; }), \"return\": verb(\"return\", function (v) { return { value: v, done: true }; }) }, p;\n return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { return function (v) { return v = p && n === \"throw\" ? f(v) : p && v.done ? v : { value: p ? [\"yield\", v.value] : [\"await\", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }\n };\n "
text: "\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : v; }; }\n };\n "
};
function createAsyncDelegatorHelper(context, expression, location) {
context.requestEmitHelper(awaitHelper);
context.requestEmitHelper(asyncDelegator);
context.requestEmitHelper(asyncValues);
return ts.setTextRange(ts.createCall(ts.getHelperName("__asyncDelegator"), undefined, [expression]), location);
}
var asyncValues = {
@@ -44916,9 +44947,9 @@ var ts;
statements.push(exportStatement);
}
var emitFlags = ts.getEmitFlags(node);
if ((emitFlags & 2097152) === 0) {
if ((emitFlags & 4194304) === 0) {
statements.push(ts.createEndOfDeclarationMarker(node));
ts.setEmitFlags(statement, emitFlags | 2097152);
ts.setEmitFlags(statement, emitFlags | 4194304);
}
return ts.singleOrMany(statements);
}
@@ -44931,8 +44962,8 @@ var ts;
}
var extendsClauseElement = ts.getClassExtendsHeritageClauseElement(node);
var classFunction = ts.createFunctionExpression(undefined, undefined, undefined, undefined, extendsClauseElement ? [ts.createParameter(undefined, undefined, undefined, "_super")] : [], undefined, transformClassBody(node, extendsClauseElement));
if (ts.getEmitFlags(node) & 32768) {
ts.setEmitFlags(classFunction, 32768);
if (ts.getEmitFlags(node) & 65536) {
ts.setEmitFlags(classFunction, 65536);
}
var inner = ts.createPartiallyEmittedExpression(classFunction);
inner.end = node.end;
@@ -44951,7 +44982,7 @@ var ts;
addConstructor(statements, node, extendsClauseElement);
addClassMembers(statements, node);
var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentText, node.members.end), 18);
var localName = ts.getLocalName(node);
var localName = ts.getInternalName(node);
var outer = ts.createPartiallyEmittedExpression(localName);
outer.end = closingBraceLocation.end;
ts.setEmitFlags(outer, 1536);
@@ -44975,7 +45006,7 @@ var ts;
var ancestorFacts = enterSubtree(16278, 73);
var constructor = ts.getFirstConstructorWithBody(node);
var hasSynthesizedSuper = hasSynthesizedDefaultSuperCall(constructor, extendsClauseElement !== undefined);
var constructorFunction = ts.createFunctionDeclaration(undefined, undefined, undefined, ts.getDeclarationName(node), undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), undefined, transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper));
var constructorFunction = ts.createFunctionDeclaration(undefined, undefined, undefined, ts.getInternalName(node), undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), undefined, transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper));
ts.setTextRange(constructorFunction, constructor || node);
if (extendsClauseElement) {
ts.setEmitFlags(constructorFunction, 8);
@@ -45139,10 +45170,10 @@ var ts;
function addDefaultValueAssignmentForBindingPattern(statements, parameter, name, initializer) {
var temp = ts.getGeneratedNameForNode(parameter);
if (name.elements.length > 0) {
statements.push(ts.setEmitFlags(ts.createVariableStatement(undefined, ts.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0, temp))), 524288));
statements.push(ts.setEmitFlags(ts.createVariableStatement(undefined, ts.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0, temp))), 1048576));
}
else if (initializer) {
statements.push(ts.setEmitFlags(ts.createStatement(ts.createAssignment(temp, ts.visitNode(initializer, visitor, ts.isExpression))), 524288));
statements.push(ts.setEmitFlags(ts.createStatement(ts.createAssignment(temp, ts.visitNode(initializer, visitor, ts.isExpression))), 1048576));
}
}
function addDefaultValueAssignmentForInitializer(statements, parameter, name, initializer) {
@@ -45152,7 +45183,7 @@ var ts;
]), parameter), 1 | 32 | 384));
statement.startsOnNewLine = true;
ts.setTextRange(statement, parameter);
ts.setEmitFlags(statement, 384 | 32 | 524288);
ts.setEmitFlags(statement, 384 | 32 | 1048576);
statements.push(statement);
}
function shouldAddRestParameter(node, inConstructorWithSynthesizedSuper) {
@@ -45170,7 +45201,7 @@ var ts;
var temp = ts.createLoopVariable();
statements.push(ts.setEmitFlags(ts.setTextRange(ts.createVariableStatement(undefined, ts.createVariableDeclarationList([
ts.createVariableDeclaration(declarationName, undefined, ts.createArrayLiteral([]))
])), parameter), 524288));
])), parameter), 1048576));
var forStatement = ts.createFor(ts.setTextRange(ts.createVariableDeclarationList([
ts.createVariableDeclaration(temp, undefined, ts.createLiteral(restIndex))
]), parameter), ts.setTextRange(ts.createLessThan(temp, ts.createPropertyAccess(ts.createIdentifier("arguments"), "length")), parameter), ts.setTextRange(ts.createPostfixIncrement(temp), parameter), ts.createBlock([
@@ -45178,7 +45209,7 @@ var ts;
? temp
: ts.createSubtract(temp, ts.createLiteral(restIndex))), ts.createElementAccess(ts.createIdentifier("arguments"), temp))), parameter))
]));
ts.setEmitFlags(forStatement, 524288);
ts.setEmitFlags(forStatement, 1048576);
ts.startOnNewLine(forStatement);
statements.push(forStatement);
}
@@ -45192,7 +45223,7 @@ var ts;
var captureThisStatement = ts.createVariableStatement(undefined, ts.createVariableDeclarationList([
ts.createVariableDeclaration("_this", undefined, initializer)
]));
ts.setEmitFlags(captureThisStatement, 1536 | 524288);
ts.setEmitFlags(captureThisStatement, 1536 | 1048576);
ts.setTextRange(captureThisStatement, originalStatement);
ts.setSourceMapRange(captureThisStatement, node);
statements.push(captureThisStatement);
@@ -45332,7 +45363,7 @@ var ts;
return func;
}
function visitFunctionExpression(node) {
var ancestorFacts = ts.getEmitFlags(node) & 131072
var ancestorFacts = ts.getEmitFlags(node) & 262144
? enterSubtree(16278, 69)
: enterSubtree(16286, 65);
var savedConvertedLoopState = convertedLoopState;
@@ -45681,7 +45712,7 @@ var ts;
var forStatement = ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([
ts.setTextRange(ts.createVariableDeclaration(counter, undefined, ts.createLiteral(0)), ts.moveRangePos(node.expression, -1)),
ts.setTextRange(ts.createVariableDeclaration(rhsReference, undefined, expression), node.expression)
]), node.expression), 1048576), ts.setTextRange(ts.createLessThan(counter, ts.createPropertyAccess(rhsReference, "length")), node.expression), ts.setTextRange(ts.createPostfixIncrement(counter), node.expression), convertForOfStatementHead(node, ts.createElementAccess(rhsReference, counter), convertedLoopBodyStatements)), node);
]), node.expression), 2097152), ts.setTextRange(ts.createLessThan(counter, ts.createPropertyAccess(rhsReference, "length")), node.expression), ts.setTextRange(ts.createPostfixIncrement(counter), node.expression), convertForOfStatementHead(node, ts.createElementAccess(rhsReference, counter), convertedLoopBodyStatements)), node);
ts.setEmitFlags(forStatement, 256);
ts.setTextRange(forStatement, node);
return ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel);
@@ -45700,7 +45731,7 @@ var ts;
var forStatement = ts.setEmitFlags(ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([
ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, values), node.expression),
ts.createVariableDeclaration(result, undefined, next)
]), node.expression), 1048576), ts.createLogicalNot(ts.createPropertyAccess(result, "done")), ts.createAssignment(result, next), convertForOfStatementHead(node, ts.createPropertyAccess(result, "value"), convertedLoopBodyStatements)), node), 256);
]), node.expression), 2097152), ts.createLogicalNot(ts.createPropertyAccess(result, "done")), ts.createAssignment(result, next), convertForOfStatementHead(node, ts.createPropertyAccess(result, "value"), convertedLoopBodyStatements)), node), 256);
return ts.createTry(ts.createBlock([
ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel)
]), ts.createCatchClause(ts.createVariableDeclaration(catchVariable), ts.setEmitFlags(ts.createBlock([
@@ -45737,7 +45768,7 @@ var ts;
}
var temp = ts.createTempVariable(hoistVariableDeclaration);
var expressions = [];
var assignment = ts.createAssignment(temp, ts.setEmitFlags(ts.createObjectLiteral(ts.visitNodes(properties, visitor, ts.isObjectLiteralElementLike, 0, numInitialProperties), node.multiLine), 32768));
var assignment = ts.createAssignment(temp, ts.setEmitFlags(ts.createObjectLiteral(ts.visitNodes(properties, visitor, ts.isObjectLiteralElementLike, 0, numInitialProperties), node.multiLine), 65536));
if (node.multiLine) {
assignment.startsOnNewLine = true;
}
@@ -45844,11 +45875,11 @@ var ts;
loopBodyFlags |= 8;
}
if (isAsyncBlockContainingAwait) {
loopBodyFlags |= 131072;
loopBodyFlags |= 262144;
}
var convertedLoopVariable = ts.createVariableStatement(undefined, ts.setEmitFlags(ts.createVariableDeclarationList([
ts.createVariableDeclaration(functionName, undefined, ts.setEmitFlags(ts.createFunctionExpression(undefined, containsYield ? ts.createToken(39) : undefined, undefined, undefined, loopParameters, undefined, loopBody), loopBodyFlags))
]), 1048576));
]), 2097152));
var statements = [convertedLoopVariable];
var extraVariableDeclarations;
if (currentState.argumentsName) {
@@ -45929,7 +45960,7 @@ var ts;
!state.labeledNonLocalContinues;
var call = ts.createCall(loopFunctionExpressionName, undefined, ts.map(parameters, function (p) { return p.name; }));
var callResult = isAsyncBlockContainingAwait
? ts.createYield(ts.createToken(39), ts.setEmitFlags(call, 4194304))
? ts.createYield(ts.createToken(39), ts.setEmitFlags(call, 8388608))
: call;
if (isSimpleLoop) {
statements.push(ts.createStatement(callResult));
@@ -46100,7 +46131,20 @@ var ts;
var savedConvertedLoopState = convertedLoopState;
convertedLoopState = undefined;
var ancestorFacts = enterSubtree(16286, 65);
var updated = ts.visitEachChild(node, visitor, context);
var updated;
if (node.transformFlags & 32768) {
var parameters = ts.visitParameterList(node.parameters, visitor, context);
var body = transformFunctionBody(node);
if (node.kind === 153) {
updated = ts.updateGetAccessor(node, node.decorators, node.modifiers, node.name, parameters, node.type, body);
}
else {
updated = ts.updateSetAccessor(node, node.decorators, node.modifiers, node.name, parameters, body);
}
}
else {
updated = ts.visitEachChild(node, visitor, context);
}
exitSubtree(ancestorFacts, 49152, 0);
convertedLoopState = savedConvertedLoopState;
return updated;
@@ -46343,7 +46387,7 @@ var ts;
return node;
}
function substituteIdentifier(node) {
if (enabledSubstitutions & 2) {
if (enabledSubstitutions & 2 && !ts.isInternalName(node)) {
var original = ts.getParseTreeNode(node, ts.isIdentifier);
if (original && isNameOfDeclarationWithCollidingName(original)) {
return ts.setTextRange(ts.getGeneratedNameForNode(original), node);
@@ -46373,14 +46417,32 @@ var ts;
return node;
}
function substituteExpressionIdentifier(node) {
if (enabledSubstitutions & 2) {
if (enabledSubstitutions & 2 && !ts.isInternalName(node)) {
var declaration = resolver.getReferencedDeclarationWithCollidingName(node);
if (declaration) {
if (declaration && !(ts.isClassLike(declaration) && isPartOfClassBody(declaration, node))) {
return ts.setTextRange(ts.getGeneratedNameForNode(declaration.name), node);
}
}
return node;
}
function isPartOfClassBody(declaration, node) {
var currentNode = ts.getParseTreeNode(node);
if (!currentNode || currentNode === declaration || currentNode.end <= declaration.pos || currentNode.pos >= declaration.end) {
return false;
}
var blockScope = ts.getEnclosingBlockScopeContainer(declaration);
while (currentNode) {
if (currentNode === blockScope || currentNode === declaration) {
return false;
}
if (ts.isClassElement(currentNode) && currentNode.parent === declaration) {
return currentNode.kind !== 149
|| (ts.getModifierFlags(currentNode) & 32) === 0;
}
currentNode = currentNode.parent;
}
return false;
}
function substituteThisKeyword(node) {
if (enabledSubstitutions & 1
&& hierarchyFacts & 16) {
@@ -46389,8 +46451,9 @@ var ts;
return node;
}
function getClassMemberPrefix(node, member) {
var expression = ts.getLocalName(node);
return ts.hasModifier(member, 32) ? expression : ts.createPropertyAccess(expression, "prototype");
return ts.hasModifier(member, 32)
? ts.getInternalName(node)
: ts.createPropertyAccess(ts.getInternalName(node), "prototype");
}
function hasSynthesizedDefaultSuperCall(constructor, hasExtendsClause) {
if (!constructor || !hasExtendsClause) {
@@ -46734,7 +46797,7 @@ var ts;
return undefined;
}
else {
if (ts.getEmitFlags(node) & 524288) {
if (ts.getEmitFlags(node) & 1048576) {
return node;
}
for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) {
@@ -46870,7 +46933,7 @@ var ts;
var resumeLabel = defineLabel();
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
if (node.asteriskToken) {
var iterator = (ts.getEmitFlags(node.expression) & 4194304) === 0
var iterator = (ts.getEmitFlags(node.expression) & 8388608) === 0
? ts.createValuesHelper(context, expression, node)
: expression;
emitYieldStar(iterator, node);
@@ -47835,7 +47898,7 @@ var ts;
currentExceptionBlock = undefined;
withBlockStack = undefined;
var buildResult = buildStatements();
return createGeneratorHelper(context, ts.setEmitFlags(ts.createFunctionExpression(undefined, undefined, undefined, undefined, [ts.createParameter(undefined, undefined, undefined, state)], undefined, ts.createBlock(buildResult, buildResult.length > 0)), 262144));
return createGeneratorHelper(context, ts.setEmitFlags(ts.createFunctionExpression(undefined, undefined, undefined, undefined, [ts.createParameter(undefined, undefined, undefined, state)], undefined, ts.createBlock(buildResult, buildResult.length > 0)), 524288));
}
function buildStatements() {
if (operations) {
@@ -48582,7 +48645,7 @@ var ts;
return node;
}
function hasAssociatedEndOfDeclarationMarker(node) {
return (ts.getEmitFlags(node) & 2097152) !== 0;
return (ts.getEmitFlags(node) & 4194304) !== 0;
}
function visitEndOfDeclarationMarker(node) {
var id = ts.getOriginalNodeId(node);
@@ -48695,7 +48758,7 @@ var ts;
])
]));
}
ts.setEmitFlags(statement, 524288);
ts.setEmitFlags(statement, 1048576);
return statement;
}
function createExportStatement(name, value, location, allowComments) {
@@ -49204,7 +49267,7 @@ var ts;
}
}
function shouldHoistVariableDeclarationList(node) {
return (ts.getEmitFlags(node) & 1048576) === 0
return (ts.getEmitFlags(node) & 2097152) === 0
&& (enclosingBlockScopedContainer.kind === 265
|| (ts.getOriginalNode(node).flags & 3) === 0);
}
@@ -49235,7 +49298,7 @@ var ts;
return node;
}
function hasAssociatedEndOfDeclarationMarker(node) {
return (ts.getEmitFlags(node) & 2097152) !== 0;
return (ts.getEmitFlags(node) & 4194304) !== 0;
}
function visitEndOfDeclarationMarker(node) {
var id = ts.getOriginalNodeId(node);
@@ -50465,8 +50528,7 @@ var ts;
ts.emitDetachedComments(currentText, currentLineMap, writer, ts.writeCommentRange, node, newLine, true);
emitLines(node.statements);
}
function getExportDefaultTempVariableName() {
var baseName = "_default";
function getExportTempVariableName(baseName) {
if (!currentIdentifiers.has(baseName)) {
return baseName;
}
@@ -50479,23 +50541,30 @@ var ts;
}
}
}
function emitTempVariableDeclaration(expr, baseName, diagnostic) {
var tempVarName = getExportTempVariableName(baseName);
if (!noDeclare) {
write("declare ");
}
write("const ");
write(tempVarName);
write(": ");
writer.getSymbolAccessibilityDiagnostic = function () { return diagnostic; };
resolver.writeTypeOfExpression(expr, enclosingDeclaration, 2 | 1024, writer);
write(";");
writeLine();
return tempVarName;
}
function emitExportAssignment(node) {
if (node.expression.kind === 71) {
write(node.isExportEquals ? "export = " : "export default ");
writeTextOfNode(currentText, node.expression);
}
else {
var tempVarName = getExportDefaultTempVariableName();
if (!noDeclare) {
write("declare ");
}
write("var ");
write(tempVarName);
write(": ");
writer.getSymbolAccessibilityDiagnostic = getDefaultExportAccessibilityDiagnostic;
resolver.writeTypeOfExpression(node.expression, enclosingDeclaration, 2 | 1024, writer);
write(";");
writeLine();
var tempVarName = emitTempVariableDeclaration(node.expression, "_default", {
diagnosticMessage: ts.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,
errorNode: node
});
write(node.isExportEquals ? "export = " : "export default ");
write(tempVarName);
}
@@ -50505,12 +50574,6 @@ var ts;
var nodes = resolver.collectLinkedAliases(node.expression);
writeAsynchronousModuleElements(nodes);
}
function getDefaultExportAccessibilityDiagnostic() {
return {
diagnosticMessage: ts.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,
errorNode: node
};
}
}
function isModuleElementVisible(node) {
return resolver.isDeclarationVisible(node);
@@ -50905,7 +50968,7 @@ var ts;
write(">");
}
}
function emitHeritageClause(className, typeReferences, isImplementsList) {
function emitHeritageClause(typeReferences, isImplementsList) {
if (typeReferences) {
write(isImplementsList ? " implements " : " extends ");
emitCommaList(typeReferences, emitTypeOfTypeReference);
@@ -50917,12 +50980,6 @@ var ts;
else if (!isImplementsList && node.expression.kind === 95) {
write("null");
}
else {
writer.getSymbolAccessibilityDiagnostic = getHeritageClauseVisibilityError;
errorNameNode = className;
resolver.writeBaseConstructorTypeOfClass(enclosingDeclaration, enclosingDeclaration, 2 | 1024, writer);
errorNameNode = undefined;
}
function getHeritageClauseVisibilityError() {
var diagnosticMessage;
if (node.parent.parent.kind === 229) {
@@ -50951,6 +51008,19 @@ var ts;
});
}
}
var prevEnclosingDeclaration = enclosingDeclaration;
enclosingDeclaration = node;
var baseTypeNode = ts.getClassExtendsHeritageClauseElement(node);
var tempVarName;
if (baseTypeNode && !ts.isEntityNameExpression(baseTypeNode.expression)) {
tempVarName = baseTypeNode.expression.kind === 95 ?
"null" :
emitTempVariableDeclaration(baseTypeNode.expression, node.name.text + "_base", {
diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,
errorNode: baseTypeNode,
typeName: node.name
});
}
emitJsDocComments(node);
emitModuleElementDeclarationFlags(node);
if (ts.hasModifier(node, 128)) {
@@ -50958,15 +51028,22 @@ var ts;
}
write("class ");
writeTextOfNode(currentText, node.name);
var prevEnclosingDeclaration = enclosingDeclaration;
enclosingDeclaration = node;
emitTypeParameters(node.typeParameters);
var baseTypeNode = ts.getClassExtendsHeritageClauseElement(node);
if (baseTypeNode) {
node.name;
emitHeritageClause(node.name, [baseTypeNode], false);
if (!ts.isEntityNameExpression(baseTypeNode.expression)) {
write(" extends ");
write(tempVarName);
if (baseTypeNode.typeArguments) {
write("<");
emitCommaList(baseTypeNode.typeArguments, emitType);
write(">");
}
}
else {
emitHeritageClause([baseTypeNode], false);
}
}
emitHeritageClause(node.name, ts.getClassImplementsHeritageClauseElements(node), true);
emitHeritageClause(ts.getClassImplementsHeritageClauseElements(node), true);
write(" {");
writeLine();
increaseIndent();
@@ -50987,7 +51064,7 @@ var ts;
emitTypeParameters(node.typeParameters);
var interfaceExtendsTypes = ts.filter(ts.getInterfaceBaseTypeNodes(node), function (base) { return ts.isEntityNameExpression(base.expression); });
if (interfaceExtendsTypes && interfaceExtendsTypes.length) {
emitHeritageClause(node.name, interfaceExtendsTypes, false);
emitHeritageClause(interfaceExtendsTypes, false);
}
write(" {");
writeLine();
@@ -53001,7 +53078,7 @@ var ts;
write("{}");
}
else {
var indentedFlag = ts.getEmitFlags(node) & 32768;
var indentedFlag = ts.getEmitFlags(node) & 65536;
if (indentedFlag) {
increaseIndent();
}
@@ -53016,7 +53093,7 @@ var ts;
function emitPropertyAccessExpression(node) {
var indentBeforeDot = false;
var indentAfterDot = false;
if (!(ts.getEmitFlags(node) & 65536)) {
if (!(ts.getEmitFlags(node) & 131072)) {
var dotRangeStart = node.expression.end;
var dotRangeEnd = ts.skipTrivia(currentSourceFile.text, node.expression.end) + 1;
var dotToken = { kind: 23, pos: dotRangeStart, end: dotRangeEnd };
@@ -53391,11 +53468,11 @@ var ts;
var body = node.body;
if (body) {
if (ts.isBlock(body)) {
var indentedFlag = ts.getEmitFlags(node) & 32768;
var indentedFlag = ts.getEmitFlags(node) & 65536;
if (indentedFlag) {
increaseIndent();
}
if (ts.getEmitFlags(node) & 262144) {
if (ts.getEmitFlags(node) & 524288) {
emitSignatureHead(node);
if (onEmitNode) {
onEmitNode(3, body, emitBlockCallback);
@@ -53498,7 +53575,7 @@ var ts;
emitModifiers(node, node.modifiers);
write("class");
emitNodeWithPrefix(" ", node.name, emitIdentifierName);
var indentedFlag = ts.getEmitFlags(node) & 32768;
var indentedFlag = ts.getEmitFlags(node) & 65536;
if (indentedFlag) {
increaseIndent();
}
@@ -61889,6 +61966,9 @@ var ts;
searchForNamedImport(decl.exportClause);
return;
}
if (!decl.importClause) {
return;
}
var importClause = decl.importClause;
var namedBindings = importClause.namedBindings;
if (namedBindings && namedBindings.kind === 240) {
+10 -9
View File
@@ -2195,14 +2195,15 @@ declare namespace ts {
HelperName = 4096,
ExportName = 8192,
LocalName = 16384,
Indented = 32768,
NoIndentation = 65536,
AsyncFunctionBody = 131072,
ReuseTempVariableScope = 262144,
CustomPrologue = 524288,
NoHoisting = 1048576,
HasEndOfDeclarationMarker = 2097152,
Iterator = 4194304,
InternalName = 32768,
Indented = 65536,
NoIndentation = 131072,
AsyncFunctionBody = 262144,
ReuseTempVariableScope = 524288,
CustomPrologue = 1048576,
NoHoisting = 2097152,
HasEndOfDeclarationMarker = 4194304,
Iterator = 8388608,
}
interface EmitHelper {
readonly name: string;
@@ -2271,7 +2272,7 @@ declare namespace ts {
}
}
declare namespace ts {
const version = "2.3.2";
const version = "2.3.3";
}
declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any;
declare function clearTimeout(handle: any): void;
+273 -193
View File
@@ -1002,14 +1002,15 @@ var ts;
EmitFlags[EmitFlags["HelperName"] = 4096] = "HelperName";
EmitFlags[EmitFlags["ExportName"] = 8192] = "ExportName";
EmitFlags[EmitFlags["LocalName"] = 16384] = "LocalName";
EmitFlags[EmitFlags["Indented"] = 32768] = "Indented";
EmitFlags[EmitFlags["NoIndentation"] = 65536] = "NoIndentation";
EmitFlags[EmitFlags["AsyncFunctionBody"] = 131072] = "AsyncFunctionBody";
EmitFlags[EmitFlags["ReuseTempVariableScope"] = 262144] = "ReuseTempVariableScope";
EmitFlags[EmitFlags["CustomPrologue"] = 524288] = "CustomPrologue";
EmitFlags[EmitFlags["NoHoisting"] = 1048576] = "NoHoisting";
EmitFlags[EmitFlags["HasEndOfDeclarationMarker"] = 2097152] = "HasEndOfDeclarationMarker";
EmitFlags[EmitFlags["Iterator"] = 4194304] = "Iterator";
EmitFlags[EmitFlags["InternalName"] = 32768] = "InternalName";
EmitFlags[EmitFlags["Indented"] = 65536] = "Indented";
EmitFlags[EmitFlags["NoIndentation"] = 131072] = "NoIndentation";
EmitFlags[EmitFlags["AsyncFunctionBody"] = 262144] = "AsyncFunctionBody";
EmitFlags[EmitFlags["ReuseTempVariableScope"] = 524288] = "ReuseTempVariableScope";
EmitFlags[EmitFlags["CustomPrologue"] = 1048576] = "CustomPrologue";
EmitFlags[EmitFlags["NoHoisting"] = 2097152] = "NoHoisting";
EmitFlags[EmitFlags["HasEndOfDeclarationMarker"] = 4194304] = "HasEndOfDeclarationMarker";
EmitFlags[EmitFlags["Iterator"] = 8388608] = "Iterator";
})(EmitFlags = ts.EmitFlags || (ts.EmitFlags = {}));
var ExternalEmitHelpers;
(function (ExternalEmitHelpers) {
@@ -1024,14 +1025,17 @@ var ts;
ExternalEmitHelpers[ExternalEmitHelpers["Values"] = 256] = "Values";
ExternalEmitHelpers[ExternalEmitHelpers["Read"] = 512] = "Read";
ExternalEmitHelpers[ExternalEmitHelpers["Spread"] = 1024] = "Spread";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncGenerator"] = 2048] = "AsyncGenerator";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncDelegator"] = 4096] = "AsyncDelegator";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncValues"] = 8192] = "AsyncValues";
ExternalEmitHelpers[ExternalEmitHelpers["Await"] = 2048] = "Await";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncGenerator"] = 4096] = "AsyncGenerator";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncDelegator"] = 8192] = "AsyncDelegator";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncValues"] = 16384] = "AsyncValues";
ExternalEmitHelpers[ExternalEmitHelpers["ForOfIncludes"] = 256] = "ForOfIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["ForAwaitOfIncludes"] = 8192] = "ForAwaitOfIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["ForAwaitOfIncludes"] = 16384] = "ForAwaitOfIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncGeneratorIncludes"] = 6144] = "AsyncGeneratorIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["AsyncDelegatorIncludes"] = 26624] = "AsyncDelegatorIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["SpreadIncludes"] = 1536] = "SpreadIncludes";
ExternalEmitHelpers[ExternalEmitHelpers["FirstEmitHelper"] = 1] = "FirstEmitHelper";
ExternalEmitHelpers[ExternalEmitHelpers["LastEmitHelper"] = 8192] = "LastEmitHelper";
ExternalEmitHelpers[ExternalEmitHelpers["LastEmitHelper"] = 16384] = "LastEmitHelper";
})(ExternalEmitHelpers = ts.ExternalEmitHelpers || (ts.ExternalEmitHelpers = {}));
var EmitHint;
(function (EmitHint) {
@@ -1102,7 +1106,7 @@ var ts;
})(ts || (ts = {}));
var ts;
(function (ts) {
ts.version = "2.3.2";
ts.version = "2.3.3";
})(ts || (ts = {}));
(function (ts) {
var Ternary;
@@ -9658,12 +9662,13 @@ var ts;
FunctionFlags[FunctionFlags["Normal"] = 0] = "Normal";
FunctionFlags[FunctionFlags["Generator"] = 1] = "Generator";
FunctionFlags[FunctionFlags["Async"] = 2] = "Async";
FunctionFlags[FunctionFlags["AsyncOrAsyncGenerator"] = 3] = "AsyncOrAsyncGenerator";
FunctionFlags[FunctionFlags["Invalid"] = 4] = "Invalid";
FunctionFlags[FunctionFlags["InvalidAsyncOrAsyncGenerator"] = 7] = "InvalidAsyncOrAsyncGenerator";
FunctionFlags[FunctionFlags["InvalidGenerator"] = 5] = "InvalidGenerator";
FunctionFlags[FunctionFlags["AsyncGenerator"] = 3] = "AsyncGenerator";
})(FunctionFlags = ts.FunctionFlags || (ts.FunctionFlags = {}));
function getFunctionFlags(node) {
if (!node) {
return 4;
}
var flags = 0;
switch (node.kind) {
case 228:
@@ -12465,7 +12470,7 @@ var ts;
var node = createSynthesizedNode(179);
node.expression = ts.parenthesizeForAccess(expression);
node.name = asName(name);
setEmitFlags(node, 65536);
setEmitFlags(node, 131072);
return node;
}
ts.createPropertyAccess = createPropertyAccess;
@@ -14333,6 +14338,14 @@ var ts;
function createExpressionForMethodDeclaration(method, receiver) {
return ts.aggregateTransformFlags(ts.setOriginalNode(ts.setTextRange(ts.createAssignment(createMemberAccessForPropertyName(receiver, method.name, method.name), ts.setOriginalNode(ts.setTextRange(ts.createFunctionExpression(method.modifiers, method.asteriskToken, undefined, undefined, method.parameters, undefined, method.body), method), method)), method), method));
}
function getInternalName(node, allowComments, allowSourceMaps) {
return getName(node, allowComments, allowSourceMaps, 16384 | 32768);
}
ts.getInternalName = getInternalName;
function isInternalName(node) {
return (ts.getEmitFlags(node) & 32768) !== 0;
}
ts.isInternalName = isInternalName;
function getLocalName(node, allowComments, allowSourceMaps) {
return getName(node, allowComments, allowSourceMaps, 16384);
}
@@ -14427,7 +14440,7 @@ var ts;
var numStatements = source.length;
while (statementOffset < numStatements) {
var statement = source[statementOffset];
if (ts.getEmitFlags(statement) & 524288) {
if (ts.getEmitFlags(statement) & 1048576) {
target.push(visitor ? ts.visitNode(statement, visitor, ts.isStatement) : statement);
}
else {
@@ -30635,23 +30648,34 @@ var ts;
}
var result = -1;
var saveErrorInfo = errorInfo;
outer: for (var _i = 0, targetSignatures_1 = targetSignatures; _i < targetSignatures_1.length; _i++) {
var t = targetSignatures_1[_i];
var shouldElaborateErrors = reportErrors;
for (var _a = 0, sourceSignatures_1 = sourceSignatures; _a < sourceSignatures_1.length; _a++) {
var s = sourceSignatures_1[_a];
var related = signatureRelatedTo(s, t, shouldElaborateErrors);
if (related) {
result &= related;
errorInfo = saveErrorInfo;
continue outer;
if (getObjectFlags(source) & 64 && getObjectFlags(target) & 64 && source.symbol === target.symbol) {
for (var i = 0; i < targetSignatures.length; i++) {
var related = signatureRelatedTo(sourceSignatures[i], targetSignatures[i], reportErrors);
if (!related) {
return 0;
}
shouldElaborateErrors = false;
result &= related;
}
if (shouldElaborateErrors) {
reportError(ts.Diagnostics.Type_0_provides_no_match_for_the_signature_1, typeToString(source), signatureToString(t, undefined, undefined, kind));
}
else {
outer: for (var _i = 0, targetSignatures_1 = targetSignatures; _i < targetSignatures_1.length; _i++) {
var t = targetSignatures_1[_i];
var shouldElaborateErrors = reportErrors;
for (var _a = 0, sourceSignatures_1 = sourceSignatures; _a < sourceSignatures_1.length; _a++) {
var s = sourceSignatures_1[_a];
var related = signatureRelatedTo(s, t, shouldElaborateErrors);
if (related) {
result &= related;
errorInfo = saveErrorInfo;
continue outer;
}
shouldElaborateErrors = false;
}
if (shouldElaborateErrors) {
reportError(ts.Diagnostics.Type_0_provides_no_match_for_the_signature_1, typeToString(source), signatureToString(t, undefined, undefined, kind));
}
return 0;
}
return 0;
}
return result;
}
@@ -33738,6 +33762,7 @@ var ts;
var attributesTable = ts.createMap();
var spread = emptyObjectType;
var attributesArray = [];
var hasSpreadAnyType = false;
for (var _i = 0, _a = attributes.properties; _i < _a.length; _i++) {
var attributeDecl = _a[_i];
var member = attributeDecl.symbol;
@@ -33766,29 +33791,31 @@ var ts;
var exprType = checkExpression(attributeDecl.expression);
if (!isValidSpreadType(exprType)) {
error(attributeDecl, ts.Diagnostics.Spread_types_may_only_be_created_from_object_types);
return anyType;
hasSpreadAnyType = true;
}
if (isTypeAny(exprType)) {
return anyType;
hasSpreadAnyType = true;
}
spread = getSpreadType(spread, exprType);
}
}
if (spread !== emptyObjectType) {
if (attributesArray.length > 0) {
spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable));
attributesArray = [];
attributesTable = ts.createMap();
}
attributesArray = getPropertiesOfType(spread);
}
attributesTable = ts.createMap();
if (attributesArray) {
ts.forEach(attributesArray, function (attr) {
if (!filter || filter(attr)) {
attributesTable.set(attr.name, attr);
if (!hasSpreadAnyType) {
if (spread !== emptyObjectType) {
if (attributesArray.length > 0) {
spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable));
attributesArray = [];
attributesTable = ts.createMap();
}
});
attributesArray = getPropertiesOfType(spread);
}
attributesTable = ts.createMap();
if (attributesArray) {
ts.forEach(attributesArray, function (attr) {
if (!filter || filter(attr)) {
attributesTable.set(attr.name, attr);
}
});
}
}
var parent = openingLikeElement.parent.kind === 249 ? openingLikeElement.parent : undefined;
if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) {
@@ -33805,7 +33832,7 @@ var ts;
}
}
var jsxChildrenPropertyName = getJsxElementChildrenPropertyname();
if (jsxChildrenPropertyName && jsxChildrenPropertyName !== "") {
if (!hasSpreadAnyType && jsxChildrenPropertyName && jsxChildrenPropertyName !== "") {
if (attributesTable.has(jsxChildrenPropertyName)) {
error(attributes, ts.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten, jsxChildrenPropertyName);
}
@@ -33816,7 +33843,7 @@ var ts;
attributesTable.set(jsxChildrenPropertyName, childrenPropSymbol);
}
}
return createJsxAttributesType(attributes.symbol, attributesTable);
return hasSpreadAnyType ? anyType : createJsxAttributesType(attributes.symbol, attributesTable);
function createJsxAttributesType(symbol, attributesTable) {
var result = createAnonymousType(symbol, attributesTable, emptyArray, emptyArray, undefined, undefined);
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576;
@@ -33875,7 +33902,18 @@ var ts;
return unknownType;
}
}
return getUnionType(ts.map(signatures, getReturnTypeOfSignature), true);
var instantiatedSignatures = [];
for (var _i = 0, signatures_3 = signatures; _i < signatures_3.length; _i++) {
var signature = signatures_3[_i];
if (signature.typeParameters) {
var typeArguments = fillMissingTypeArguments(undefined, signature.typeParameters, 0);
instantiatedSignatures.push(getSignatureInstantiation(signature, typeArguments));
}
else {
instantiatedSignatures.push(signature);
}
}
return getUnionType(ts.map(instantiatedSignatures, getReturnTypeOfSignature), true);
}
function getNameFromJsxElementAttributesContainer(nameOfAttribPropContainer) {
var jsxNamespace = getGlobalSymbol(JsxNames.JSX, 1920, undefined);
@@ -34496,8 +34534,8 @@ var ts;
var specializedIndex = -1;
var spliceIndex;
ts.Debug.assert(!result.length);
for (var _i = 0, signatures_3 = signatures; _i < signatures_3.length; _i++) {
var signature = signatures_3[_i];
for (var _i = 0, signatures_4 = signatures; _i < signatures_4.length; _i++) {
var signature = signatures_4[_i];
var symbol = signature.declaration && getSymbolOfNode(signature.declaration);
var parent = signature.declaration && signature.declaration.parent;
if (!lastSymbol || symbol === lastSymbol) {
@@ -36356,12 +36394,12 @@ var ts;
var func = ts.getContainingFunction(node);
var functionFlags = func && ts.getFunctionFlags(func);
if (node.asteriskToken) {
if (functionFlags & 2) {
if (languageVersion < 4) {
checkExternalEmitHelpers(node, 4096);
}
if ((functionFlags & 3) === 3 &&
languageVersion < 5) {
checkExternalEmitHelpers(node, 26624);
}
else if (languageVersion < 2 && compilerOptions.downlevelIteration) {
if ((functionFlags & 3) === 1 &&
languageVersion < 2 && compilerOptions.downlevelIteration) {
checkExternalEmitHelpers(node, 256);
}
}
@@ -36754,17 +36792,14 @@ var ts;
checkGrammarFunctionLikeDeclaration(node);
}
var functionFlags = ts.getFunctionFlags(node);
if ((functionFlags & 7) === 2 && languageVersion < 4) {
checkExternalEmitHelpers(node, 64);
if (languageVersion < 2) {
checkExternalEmitHelpers(node, 128);
if (!(functionFlags & 4)) {
if ((functionFlags & 3) === 3 && languageVersion < 5) {
checkExternalEmitHelpers(node, 6144);
}
}
if ((functionFlags & 5) === 1) {
if (functionFlags & 2 && languageVersion < 4) {
checkExternalEmitHelpers(node, 2048);
if ((functionFlags & 3) === 2 && languageVersion < 4) {
checkExternalEmitHelpers(node, 64);
}
else if (languageVersion < 2) {
if ((functionFlags & 3) !== 0 && languageVersion < 2) {
checkExternalEmitHelpers(node, 128);
}
}
@@ -36787,7 +36822,7 @@ var ts;
}
if (node.type) {
var functionFlags_1 = ts.getFunctionFlags(node);
if ((functionFlags_1 & 5) === 1) {
if ((functionFlags_1 & (4 | 1)) === 1) {
var returnType = getTypeFromTypeNode(node.type);
if (returnType === voidType) {
error(node.type, ts.Diagnostics.A_generator_cannot_have_a_void_type_annotation);
@@ -37350,8 +37385,8 @@ var ts;
if (bodyDeclaration) {
var signatures = getSignaturesOfSymbol(symbol);
var bodySignature = getSignatureFromDeclaration(bodyDeclaration);
for (var _a = 0, signatures_4 = signatures; _a < signatures_4.length; _a++) {
var signature = signatures_4[_a];
for (var _a = 0, signatures_5 = signatures; _a < signatures_5.length; _a++) {
var signature = signatures_5[_a];
if (!isImplementationCompatibleWithOverload(bodySignature, signature)) {
error(signature.declaration, ts.Diagnostics.Overload_signature_is_not_compatible_with_function_implementation);
break;
@@ -38230,11 +38265,12 @@ var ts;
checkGrammarForInOrForOfStatement(node);
if (node.kind === 216) {
if (node.awaitModifier) {
if (languageVersion < 4) {
checkExternalEmitHelpers(node, 8192);
var functionFlags = ts.getFunctionFlags(ts.getContainingFunction(node));
if ((functionFlags & (4 | 2)) === 2 && languageVersion < 5) {
checkExternalEmitHelpers(node, 16384);
}
}
else if (languageVersion < 2 && compilerOptions.downlevelIteration) {
else if (compilerOptions.downlevelIteration && languageVersion < 2) {
checkExternalEmitHelpers(node, 256);
}
}
@@ -38688,7 +38724,10 @@ var ts;
return;
}
var errorNode;
if (propDeclaration && (propDeclaration.name.kind === 144 || prop.parent === containingType.symbol)) {
if (propDeclaration &&
(ts.getSpecialPropertyAssignmentKind(propDeclaration) === 4 ||
propDeclaration.name.kind === 144 ||
prop.parent === containingType.symbol)) {
errorNode = propDeclaration;
}
else if (indexDeclaration) {
@@ -40586,15 +40625,6 @@ var ts;
var type = getWidenedType(getRegularTypeOfExpression(expr));
getSymbolDisplayBuilder().buildTypeDisplay(type, writer, enclosingDeclaration, flags);
}
function writeBaseConstructorTypeOfClass(node, enclosingDeclaration, flags, writer) {
var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(node));
resolveBaseTypesOfClass(classType);
var baseType = classType.resolvedBaseTypes.length ? classType.resolvedBaseTypes[0] : unknownType;
if (!baseType.symbol) {
writer.reportIllegalExtends();
}
getSymbolDisplayBuilder().buildTypeDisplay(baseType, writer, enclosingDeclaration, flags);
}
function hasGlobalName(name) {
return globals.has(name);
}
@@ -40673,7 +40703,6 @@ var ts;
writeTypeOfDeclaration: writeTypeOfDeclaration,
writeReturnTypeOfSignatureDeclaration: writeReturnTypeOfSignatureDeclaration,
writeTypeOfExpression: writeTypeOfExpression,
writeBaseConstructorTypeOfClass: writeBaseConstructorTypeOfClass,
isSymbolAccessible: isSymbolAccessible,
isEntityNameVisible: isEntityNameVisible,
getConstantValue: function (node) {
@@ -40820,7 +40849,7 @@ var ts;
var helpersModule = resolveHelpersModule(sourceFile, location);
if (helpersModule !== unknownSymbol) {
var uncheckedHelpers = helpers & ~requestedExternalEmitHelpers;
for (var helper = 1; helper <= 8192; helper <<= 1) {
for (var helper = 1; helper <= 16384; helper <<= 1) {
if (uncheckedHelpers & helper) {
var name = getHelperName(helper);
var symbol = getSymbol(helpersModule.exports, ts.escapeIdentifier(name), 107455);
@@ -40847,9 +40876,10 @@ var ts;
case 256: return "__values";
case 512: return "__read";
case 1024: return "__spread";
case 2048: return "__asyncGenerator";
case 4096: return "__asyncDelegator";
case 8192: return "__asyncValues";
case 2048: return "__await";
case 4096: return "__asyncGenerator";
case 8192: return "__asyncDelegator";
case 16384: return "__asyncValues";
default: ts.Debug.fail("Unrecognized helper.");
}
}
@@ -43326,7 +43356,7 @@ var ts;
}
if (statements.length > 1) {
statements.push(ts.createEndOfDeclarationMarker(node));
ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 2097152);
ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 4194304);
}
return ts.singleOrMany(statements);
}
@@ -43372,7 +43402,7 @@ var ts;
enableSubstitutionForClassAliases();
classAliases[ts.getOriginalNodeId(node)] = ts.getSynthesizedClone(temp);
}
ts.setEmitFlags(classExpression, 32768 | ts.getEmitFlags(classExpression));
ts.setEmitFlags(classExpression, 65536 | ts.getEmitFlags(classExpression));
expressions.push(ts.startOnNewLine(ts.createAssignment(temp, classExpression)));
ts.addRange(expressions, generateInitializedPropertyExpressions(staticProperties, temp));
expressions.push(ts.startOnNewLine(temp));
@@ -44210,13 +44240,13 @@ var ts;
ts.setSourceMapRange(statement, node);
}
ts.setCommentRange(statement, node);
ts.setEmitFlags(statement, 1024 | 2097152);
ts.setEmitFlags(statement, 1024 | 4194304);
statements.push(statement);
return true;
}
else {
var mergeMarker = ts.createMergeDeclarationMarker(statement);
ts.setEmitFlags(mergeMarker, 1536 | 2097152);
ts.setEmitFlags(mergeMarker, 1536 | 4194304);
statements.push(mergeMarker);
return false;
}
@@ -44848,7 +44878,7 @@ var ts;
function createAwaiterHelper(context, hasLexicalArguments, promiseConstructor, body) {
context.requestEmitHelper(awaiterHelper);
var generatorFunc = ts.createFunctionExpression(undefined, ts.createToken(39), undefined, undefined, [], undefined, body);
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 131072;
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144;
return ts.createCall(ts.getHelperName("__awaiter"), undefined, [
ts.createThis(),
hasLexicalArguments ? ts.createIdentifier("arguments") : ts.createVoidZero(),
@@ -44955,19 +44985,14 @@ var ts;
}
function visitAwaitExpression(node) {
if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1) {
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
return ts.setOriginalNode(ts.setTextRange(ts.createYield(undefined, ts.createArrayLiteral([ts.createLiteral("await"), expression])), node), node);
return ts.setOriginalNode(ts.setTextRange(ts.createYield(createAwaitHelper(context, ts.visitNode(node.expression, visitor, ts.isExpression))), node), node);
}
return ts.visitEachChild(node, visitor, context);
}
function visitYieldExpression(node) {
if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1) {
if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1 && node.asteriskToken) {
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
return ts.updateYield(node, node.asteriskToken, node.asteriskToken
? createAsyncDelegatorHelper(context, expression, expression)
: ts.createArrayLiteral(expression
? [ts.createLiteral("yield"), expression]
: [ts.createLiteral("yield")]));
return ts.setOriginalNode(ts.setTextRange(ts.createYield(createAwaitHelper(context, ts.updateYield(node, node.asteriskToken, createAsyncDelegatorHelper(context, createAsyncValuesHelper(context, expression, expression), expression)))), node), node);
}
return ts.visitEachChild(node, visitor, context);
}
@@ -45094,6 +45119,9 @@ var ts;
}
return ts.setEmitFlags(ts.setTextRange(ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), statementsLocation), true), bodyLocation), 48 | 384);
}
function awaitAsYield(expression) {
return ts.createYield(undefined, enclosingFunctionFlags & 1 ? createAwaitHelper(context, expression) : expression);
}
function transformForAwaitOfStatement(node, outermostLabeledStatement) {
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
var iterator = ts.isIdentifier(expression) ? ts.getGeneratedNameForNode(expression) : ts.createTempVariable(undefined);
@@ -45101,19 +45129,17 @@ var ts;
var errorRecord = ts.createUniqueName("e");
var catchVariable = ts.getGeneratedNameForNode(errorRecord);
var returnMethod = ts.createTempVariable(undefined);
var values = createAsyncValuesHelper(context, expression, node.expression);
var next = ts.createYield(undefined, enclosingFunctionFlags & 1
? ts.createArrayLiteral([
ts.createLiteral("await"),
ts.createCall(ts.createPropertyAccess(iterator, "next"), undefined, [])
])
: ts.createCall(ts.createPropertyAccess(iterator, "next"), undefined, []));
var callValues = createAsyncValuesHelper(context, expression, node.expression);
var callNext = ts.createCall(ts.createPropertyAccess(iterator, "next"), undefined, []);
var getDone = ts.createPropertyAccess(result, "done");
var getValue = ts.createPropertyAccess(result, "value");
var callReturn = ts.createFunctionCall(returnMethod, iterator, []);
hoistVariableDeclaration(errorRecord);
hoistVariableDeclaration(returnMethod);
var forStatement = ts.setEmitFlags(ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([
ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, values), node.expression),
ts.createVariableDeclaration(result, undefined, next)
]), node.expression), 1048576), ts.createLogicalNot(ts.createPropertyAccess(result, "done")), ts.createAssignment(result, next), convertForOfStatementHead(node, ts.createPropertyAccess(result, "value"))), node), 256);
ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, callValues), node.expression),
ts.createVariableDeclaration(result)
]), node.expression), 2097152), ts.createComma(ts.createAssignment(result, awaitAsYield(callNext)), ts.createLogicalNot(getDone)), undefined, convertForOfStatementHead(node, awaitAsYield(getValue))), node), 256);
return ts.createTry(ts.createBlock([
ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement)
]), ts.createCatchClause(ts.createVariableDeclaration(catchVariable), ts.setEmitFlags(ts.createBlock([
@@ -45122,12 +45148,7 @@ var ts;
])))
]), 1)), ts.createBlock([
ts.createTry(ts.createBlock([
ts.setEmitFlags(ts.createIf(ts.createLogicalAnd(ts.createLogicalAnd(result, ts.createLogicalNot(ts.createPropertyAccess(result, "done"))), ts.createAssignment(returnMethod, ts.createPropertyAccess(iterator, "return"))), ts.createStatement(ts.createYield(undefined, enclosingFunctionFlags & 1
? ts.createArrayLiteral([
ts.createLiteral("await"),
ts.createFunctionCall(returnMethod, iterator, [])
])
: ts.createFunctionCall(returnMethod, iterator, [])))), 1)
ts.setEmitFlags(ts.createIf(ts.createLogicalAnd(ts.createLogicalAnd(result, ts.createLogicalNot(getDone)), ts.createAssignment(returnMethod, ts.createPropertyAccess(iterator, "return"))), ts.createStatement(awaitAsYield(callReturn))), 1)
]), undefined, ts.setEmitFlags(ts.createBlock([
ts.setEmitFlags(ts.createIf(errorRecord, ts.createThrow(ts.createPropertyAccess(errorRecord, "error"))), 1)
]), 1))
@@ -45252,7 +45273,7 @@ var ts;
var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1, temp, false, true);
if (ts.some(declarations)) {
var statement = ts.createVariableStatement(undefined, ts.createVariableDeclarationList(declarations));
ts.setEmitFlags(statement, 524288);
ts.setEmitFlags(statement, 1048576);
statements = ts.append(statements, statement);
}
}
@@ -45359,14 +45380,24 @@ var ts;
return ts.createCall(ts.getHelperName("__assign"), undefined, attributesSegments);
}
ts.createAssignHelper = createAssignHelper;
var awaitHelper = {
name: "typescript:await",
scoped: false,
text: "\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\n "
};
function createAwaitHelper(context, expression) {
context.requestEmitHelper(awaitHelper);
return ts.createCall(ts.getHelperName("__await"), undefined, [expression]);
}
var asyncGeneratorHelper = {
name: "typescript:asyncGenerator",
scoped: false,
text: "\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), q = [], c, i;\n return i = { next: verb(\"next\"), \"throw\": verb(\"throw\"), \"return\": verb(\"return\") }, i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; }\n function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } }\n function step(r) { r.done ? settle(c[2], r) : Promise.resolve(r.value[1]).then(r.value[0] === \"yield\" ? send : fulfill, reject); }\n function send(value) { settle(c[2], { value: value, done: false }); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { c = void 0, f(v), next(); }\n };\n "
text: "\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };\n "
};
function createAsyncGeneratorHelper(context, generatorFunc) {
context.requestEmitHelper(awaitHelper);
context.requestEmitHelper(asyncGeneratorHelper);
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 131072;
(generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144;
return ts.createCall(ts.getHelperName("__asyncGenerator"), undefined, [
ts.createThis(),
ts.createIdentifier("arguments"),
@@ -45376,11 +45407,11 @@ var ts;
var asyncDelegator = {
name: "typescript:asyncDelegator",
scoped: false,
text: "\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i = { next: verb(\"next\"), \"throw\": verb(\"throw\", function (e) { throw e; }), \"return\": verb(\"return\", function (v) { return { value: v, done: true }; }) }, p;\n return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { return function (v) { return v = p && n === \"throw\" ? f(v) : p && v.done ? v : { value: p ? [\"yield\", v.value] : [\"await\", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }\n };\n "
text: "\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : v; }; }\n };\n "
};
function createAsyncDelegatorHelper(context, expression, location) {
context.requestEmitHelper(awaitHelper);
context.requestEmitHelper(asyncDelegator);
context.requestEmitHelper(asyncValues);
return ts.setTextRange(ts.createCall(ts.getHelperName("__asyncDelegator"), undefined, [expression]), location);
}
var asyncValues = {
@@ -46262,9 +46293,9 @@ var ts;
statements.push(exportStatement);
}
var emitFlags = ts.getEmitFlags(node);
if ((emitFlags & 2097152) === 0) {
if ((emitFlags & 4194304) === 0) {
statements.push(ts.createEndOfDeclarationMarker(node));
ts.setEmitFlags(statement, emitFlags | 2097152);
ts.setEmitFlags(statement, emitFlags | 4194304);
}
return ts.singleOrMany(statements);
}
@@ -46277,8 +46308,8 @@ var ts;
}
var extendsClauseElement = ts.getClassExtendsHeritageClauseElement(node);
var classFunction = ts.createFunctionExpression(undefined, undefined, undefined, undefined, extendsClauseElement ? [ts.createParameter(undefined, undefined, undefined, "_super")] : [], undefined, transformClassBody(node, extendsClauseElement));
if (ts.getEmitFlags(node) & 32768) {
ts.setEmitFlags(classFunction, 32768);
if (ts.getEmitFlags(node) & 65536) {
ts.setEmitFlags(classFunction, 65536);
}
var inner = ts.createPartiallyEmittedExpression(classFunction);
inner.end = node.end;
@@ -46297,7 +46328,7 @@ var ts;
addConstructor(statements, node, extendsClauseElement);
addClassMembers(statements, node);
var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentText, node.members.end), 18);
var localName = ts.getLocalName(node);
var localName = ts.getInternalName(node);
var outer = ts.createPartiallyEmittedExpression(localName);
outer.end = closingBraceLocation.end;
ts.setEmitFlags(outer, 1536);
@@ -46321,7 +46352,7 @@ var ts;
var ancestorFacts = enterSubtree(16278, 73);
var constructor = ts.getFirstConstructorWithBody(node);
var hasSynthesizedSuper = hasSynthesizedDefaultSuperCall(constructor, extendsClauseElement !== undefined);
var constructorFunction = ts.createFunctionDeclaration(undefined, undefined, undefined, ts.getDeclarationName(node), undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), undefined, transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper));
var constructorFunction = ts.createFunctionDeclaration(undefined, undefined, undefined, ts.getInternalName(node), undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), undefined, transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper));
ts.setTextRange(constructorFunction, constructor || node);
if (extendsClauseElement) {
ts.setEmitFlags(constructorFunction, 8);
@@ -46485,10 +46516,10 @@ var ts;
function addDefaultValueAssignmentForBindingPattern(statements, parameter, name, initializer) {
var temp = ts.getGeneratedNameForNode(parameter);
if (name.elements.length > 0) {
statements.push(ts.setEmitFlags(ts.createVariableStatement(undefined, ts.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0, temp))), 524288));
statements.push(ts.setEmitFlags(ts.createVariableStatement(undefined, ts.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0, temp))), 1048576));
}
else if (initializer) {
statements.push(ts.setEmitFlags(ts.createStatement(ts.createAssignment(temp, ts.visitNode(initializer, visitor, ts.isExpression))), 524288));
statements.push(ts.setEmitFlags(ts.createStatement(ts.createAssignment(temp, ts.visitNode(initializer, visitor, ts.isExpression))), 1048576));
}
}
function addDefaultValueAssignmentForInitializer(statements, parameter, name, initializer) {
@@ -46498,7 +46529,7 @@ var ts;
]), parameter), 1 | 32 | 384));
statement.startsOnNewLine = true;
ts.setTextRange(statement, parameter);
ts.setEmitFlags(statement, 384 | 32 | 524288);
ts.setEmitFlags(statement, 384 | 32 | 1048576);
statements.push(statement);
}
function shouldAddRestParameter(node, inConstructorWithSynthesizedSuper) {
@@ -46516,7 +46547,7 @@ var ts;
var temp = ts.createLoopVariable();
statements.push(ts.setEmitFlags(ts.setTextRange(ts.createVariableStatement(undefined, ts.createVariableDeclarationList([
ts.createVariableDeclaration(declarationName, undefined, ts.createArrayLiteral([]))
])), parameter), 524288));
])), parameter), 1048576));
var forStatement = ts.createFor(ts.setTextRange(ts.createVariableDeclarationList([
ts.createVariableDeclaration(temp, undefined, ts.createLiteral(restIndex))
]), parameter), ts.setTextRange(ts.createLessThan(temp, ts.createPropertyAccess(ts.createIdentifier("arguments"), "length")), parameter), ts.setTextRange(ts.createPostfixIncrement(temp), parameter), ts.createBlock([
@@ -46524,7 +46555,7 @@ var ts;
? temp
: ts.createSubtract(temp, ts.createLiteral(restIndex))), ts.createElementAccess(ts.createIdentifier("arguments"), temp))), parameter))
]));
ts.setEmitFlags(forStatement, 524288);
ts.setEmitFlags(forStatement, 1048576);
ts.startOnNewLine(forStatement);
statements.push(forStatement);
}
@@ -46538,7 +46569,7 @@ var ts;
var captureThisStatement = ts.createVariableStatement(undefined, ts.createVariableDeclarationList([
ts.createVariableDeclaration("_this", undefined, initializer)
]));
ts.setEmitFlags(captureThisStatement, 1536 | 524288);
ts.setEmitFlags(captureThisStatement, 1536 | 1048576);
ts.setTextRange(captureThisStatement, originalStatement);
ts.setSourceMapRange(captureThisStatement, node);
statements.push(captureThisStatement);
@@ -46678,7 +46709,7 @@ var ts;
return func;
}
function visitFunctionExpression(node) {
var ancestorFacts = ts.getEmitFlags(node) & 131072
var ancestorFacts = ts.getEmitFlags(node) & 262144
? enterSubtree(16278, 69)
: enterSubtree(16286, 65);
var savedConvertedLoopState = convertedLoopState;
@@ -47027,7 +47058,7 @@ var ts;
var forStatement = ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([
ts.setTextRange(ts.createVariableDeclaration(counter, undefined, ts.createLiteral(0)), ts.moveRangePos(node.expression, -1)),
ts.setTextRange(ts.createVariableDeclaration(rhsReference, undefined, expression), node.expression)
]), node.expression), 1048576), ts.setTextRange(ts.createLessThan(counter, ts.createPropertyAccess(rhsReference, "length")), node.expression), ts.setTextRange(ts.createPostfixIncrement(counter), node.expression), convertForOfStatementHead(node, ts.createElementAccess(rhsReference, counter), convertedLoopBodyStatements)), node);
]), node.expression), 2097152), ts.setTextRange(ts.createLessThan(counter, ts.createPropertyAccess(rhsReference, "length")), node.expression), ts.setTextRange(ts.createPostfixIncrement(counter), node.expression), convertForOfStatementHead(node, ts.createElementAccess(rhsReference, counter), convertedLoopBodyStatements)), node);
ts.setEmitFlags(forStatement, 256);
ts.setTextRange(forStatement, node);
return ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel);
@@ -47046,7 +47077,7 @@ var ts;
var forStatement = ts.setEmitFlags(ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([
ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, values), node.expression),
ts.createVariableDeclaration(result, undefined, next)
]), node.expression), 1048576), ts.createLogicalNot(ts.createPropertyAccess(result, "done")), ts.createAssignment(result, next), convertForOfStatementHead(node, ts.createPropertyAccess(result, "value"), convertedLoopBodyStatements)), node), 256);
]), node.expression), 2097152), ts.createLogicalNot(ts.createPropertyAccess(result, "done")), ts.createAssignment(result, next), convertForOfStatementHead(node, ts.createPropertyAccess(result, "value"), convertedLoopBodyStatements)), node), 256);
return ts.createTry(ts.createBlock([
ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel)
]), ts.createCatchClause(ts.createVariableDeclaration(catchVariable), ts.setEmitFlags(ts.createBlock([
@@ -47083,7 +47114,7 @@ var ts;
}
var temp = ts.createTempVariable(hoistVariableDeclaration);
var expressions = [];
var assignment = ts.createAssignment(temp, ts.setEmitFlags(ts.createObjectLiteral(ts.visitNodes(properties, visitor, ts.isObjectLiteralElementLike, 0, numInitialProperties), node.multiLine), 32768));
var assignment = ts.createAssignment(temp, ts.setEmitFlags(ts.createObjectLiteral(ts.visitNodes(properties, visitor, ts.isObjectLiteralElementLike, 0, numInitialProperties), node.multiLine), 65536));
if (node.multiLine) {
assignment.startsOnNewLine = true;
}
@@ -47190,11 +47221,11 @@ var ts;
loopBodyFlags |= 8;
}
if (isAsyncBlockContainingAwait) {
loopBodyFlags |= 131072;
loopBodyFlags |= 262144;
}
var convertedLoopVariable = ts.createVariableStatement(undefined, ts.setEmitFlags(ts.createVariableDeclarationList([
ts.createVariableDeclaration(functionName, undefined, ts.setEmitFlags(ts.createFunctionExpression(undefined, containsYield ? ts.createToken(39) : undefined, undefined, undefined, loopParameters, undefined, loopBody), loopBodyFlags))
]), 1048576));
]), 2097152));
var statements = [convertedLoopVariable];
var extraVariableDeclarations;
if (currentState.argumentsName) {
@@ -47275,7 +47306,7 @@ var ts;
!state.labeledNonLocalContinues;
var call = ts.createCall(loopFunctionExpressionName, undefined, ts.map(parameters, function (p) { return p.name; }));
var callResult = isAsyncBlockContainingAwait
? ts.createYield(ts.createToken(39), ts.setEmitFlags(call, 4194304))
? ts.createYield(ts.createToken(39), ts.setEmitFlags(call, 8388608))
: call;
if (isSimpleLoop) {
statements.push(ts.createStatement(callResult));
@@ -47446,7 +47477,20 @@ var ts;
var savedConvertedLoopState = convertedLoopState;
convertedLoopState = undefined;
var ancestorFacts = enterSubtree(16286, 65);
var updated = ts.visitEachChild(node, visitor, context);
var updated;
if (node.transformFlags & 32768) {
var parameters = ts.visitParameterList(node.parameters, visitor, context);
var body = transformFunctionBody(node);
if (node.kind === 153) {
updated = ts.updateGetAccessor(node, node.decorators, node.modifiers, node.name, parameters, node.type, body);
}
else {
updated = ts.updateSetAccessor(node, node.decorators, node.modifiers, node.name, parameters, body);
}
}
else {
updated = ts.visitEachChild(node, visitor, context);
}
exitSubtree(ancestorFacts, 49152, 0);
convertedLoopState = savedConvertedLoopState;
return updated;
@@ -47689,7 +47733,7 @@ var ts;
return node;
}
function substituteIdentifier(node) {
if (enabledSubstitutions & 2) {
if (enabledSubstitutions & 2 && !ts.isInternalName(node)) {
var original = ts.getParseTreeNode(node, ts.isIdentifier);
if (original && isNameOfDeclarationWithCollidingName(original)) {
return ts.setTextRange(ts.getGeneratedNameForNode(original), node);
@@ -47719,14 +47763,32 @@ var ts;
return node;
}
function substituteExpressionIdentifier(node) {
if (enabledSubstitutions & 2) {
if (enabledSubstitutions & 2 && !ts.isInternalName(node)) {
var declaration = resolver.getReferencedDeclarationWithCollidingName(node);
if (declaration) {
if (declaration && !(ts.isClassLike(declaration) && isPartOfClassBody(declaration, node))) {
return ts.setTextRange(ts.getGeneratedNameForNode(declaration.name), node);
}
}
return node;
}
function isPartOfClassBody(declaration, node) {
var currentNode = ts.getParseTreeNode(node);
if (!currentNode || currentNode === declaration || currentNode.end <= declaration.pos || currentNode.pos >= declaration.end) {
return false;
}
var blockScope = ts.getEnclosingBlockScopeContainer(declaration);
while (currentNode) {
if (currentNode === blockScope || currentNode === declaration) {
return false;
}
if (ts.isClassElement(currentNode) && currentNode.parent === declaration) {
return currentNode.kind !== 149
|| (ts.getModifierFlags(currentNode) & 32) === 0;
}
currentNode = currentNode.parent;
}
return false;
}
function substituteThisKeyword(node) {
if (enabledSubstitutions & 1
&& hierarchyFacts & 16) {
@@ -47735,8 +47797,9 @@ var ts;
return node;
}
function getClassMemberPrefix(node, member) {
var expression = ts.getLocalName(node);
return ts.hasModifier(member, 32) ? expression : ts.createPropertyAccess(expression, "prototype");
return ts.hasModifier(member, 32)
? ts.getInternalName(node)
: ts.createPropertyAccess(ts.getInternalName(node), "prototype");
}
function hasSynthesizedDefaultSuperCall(constructor, hasExtendsClause) {
if (!constructor || !hasExtendsClause) {
@@ -48080,7 +48143,7 @@ var ts;
return undefined;
}
else {
if (ts.getEmitFlags(node) & 524288) {
if (ts.getEmitFlags(node) & 1048576) {
return node;
}
for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) {
@@ -48216,7 +48279,7 @@ var ts;
var resumeLabel = defineLabel();
var expression = ts.visitNode(node.expression, visitor, ts.isExpression);
if (node.asteriskToken) {
var iterator = (ts.getEmitFlags(node.expression) & 4194304) === 0
var iterator = (ts.getEmitFlags(node.expression) & 8388608) === 0
? ts.createValuesHelper(context, expression, node)
: expression;
emitYieldStar(iterator, node);
@@ -49181,7 +49244,7 @@ var ts;
currentExceptionBlock = undefined;
withBlockStack = undefined;
var buildResult = buildStatements();
return createGeneratorHelper(context, ts.setEmitFlags(ts.createFunctionExpression(undefined, undefined, undefined, undefined, [ts.createParameter(undefined, undefined, undefined, state)], undefined, ts.createBlock(buildResult, buildResult.length > 0)), 262144));
return createGeneratorHelper(context, ts.setEmitFlags(ts.createFunctionExpression(undefined, undefined, undefined, undefined, [ts.createParameter(undefined, undefined, undefined, state)], undefined, ts.createBlock(buildResult, buildResult.length > 0)), 524288));
}
function buildStatements() {
if (operations) {
@@ -49928,7 +49991,7 @@ var ts;
return node;
}
function hasAssociatedEndOfDeclarationMarker(node) {
return (ts.getEmitFlags(node) & 2097152) !== 0;
return (ts.getEmitFlags(node) & 4194304) !== 0;
}
function visitEndOfDeclarationMarker(node) {
var id = ts.getOriginalNodeId(node);
@@ -50041,7 +50104,7 @@ var ts;
])
]));
}
ts.setEmitFlags(statement, 524288);
ts.setEmitFlags(statement, 1048576);
return statement;
}
function createExportStatement(name, value, location, allowComments) {
@@ -50550,7 +50613,7 @@ var ts;
}
}
function shouldHoistVariableDeclarationList(node) {
return (ts.getEmitFlags(node) & 1048576) === 0
return (ts.getEmitFlags(node) & 2097152) === 0
&& (enclosingBlockScopedContainer.kind === 265
|| (ts.getOriginalNode(node).flags & 3) === 0);
}
@@ -50581,7 +50644,7 @@ var ts;
return node;
}
function hasAssociatedEndOfDeclarationMarker(node) {
return (ts.getEmitFlags(node) & 2097152) !== 0;
return (ts.getEmitFlags(node) & 4194304) !== 0;
}
function visitEndOfDeclarationMarker(node) {
var id = ts.getOriginalNodeId(node);
@@ -51811,8 +51874,7 @@ var ts;
ts.emitDetachedComments(currentText, currentLineMap, writer, ts.writeCommentRange, node, newLine, true);
emitLines(node.statements);
}
function getExportDefaultTempVariableName() {
var baseName = "_default";
function getExportTempVariableName(baseName) {
if (!currentIdentifiers.has(baseName)) {
return baseName;
}
@@ -51825,23 +51887,30 @@ var ts;
}
}
}
function emitTempVariableDeclaration(expr, baseName, diagnostic) {
var tempVarName = getExportTempVariableName(baseName);
if (!noDeclare) {
write("declare ");
}
write("const ");
write(tempVarName);
write(": ");
writer.getSymbolAccessibilityDiagnostic = function () { return diagnostic; };
resolver.writeTypeOfExpression(expr, enclosingDeclaration, 2 | 1024, writer);
write(";");
writeLine();
return tempVarName;
}
function emitExportAssignment(node) {
if (node.expression.kind === 71) {
write(node.isExportEquals ? "export = " : "export default ");
writeTextOfNode(currentText, node.expression);
}
else {
var tempVarName = getExportDefaultTempVariableName();
if (!noDeclare) {
write("declare ");
}
write("var ");
write(tempVarName);
write(": ");
writer.getSymbolAccessibilityDiagnostic = getDefaultExportAccessibilityDiagnostic;
resolver.writeTypeOfExpression(node.expression, enclosingDeclaration, 2 | 1024, writer);
write(";");
writeLine();
var tempVarName = emitTempVariableDeclaration(node.expression, "_default", {
diagnosticMessage: ts.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,
errorNode: node
});
write(node.isExportEquals ? "export = " : "export default ");
write(tempVarName);
}
@@ -51851,12 +51920,6 @@ var ts;
var nodes = resolver.collectLinkedAliases(node.expression);
writeAsynchronousModuleElements(nodes);
}
function getDefaultExportAccessibilityDiagnostic() {
return {
diagnosticMessage: ts.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,
errorNode: node
};
}
}
function isModuleElementVisible(node) {
return resolver.isDeclarationVisible(node);
@@ -52251,7 +52314,7 @@ var ts;
write(">");
}
}
function emitHeritageClause(className, typeReferences, isImplementsList) {
function emitHeritageClause(typeReferences, isImplementsList) {
if (typeReferences) {
write(isImplementsList ? " implements " : " extends ");
emitCommaList(typeReferences, emitTypeOfTypeReference);
@@ -52263,12 +52326,6 @@ var ts;
else if (!isImplementsList && node.expression.kind === 95) {
write("null");
}
else {
writer.getSymbolAccessibilityDiagnostic = getHeritageClauseVisibilityError;
errorNameNode = className;
resolver.writeBaseConstructorTypeOfClass(enclosingDeclaration, enclosingDeclaration, 2 | 1024, writer);
errorNameNode = undefined;
}
function getHeritageClauseVisibilityError() {
var diagnosticMessage;
if (node.parent.parent.kind === 229) {
@@ -52297,6 +52354,19 @@ var ts;
});
}
}
var prevEnclosingDeclaration = enclosingDeclaration;
enclosingDeclaration = node;
var baseTypeNode = ts.getClassExtendsHeritageClauseElement(node);
var tempVarName;
if (baseTypeNode && !ts.isEntityNameExpression(baseTypeNode.expression)) {
tempVarName = baseTypeNode.expression.kind === 95 ?
"null" :
emitTempVariableDeclaration(baseTypeNode.expression, node.name.text + "_base", {
diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,
errorNode: baseTypeNode,
typeName: node.name
});
}
emitJsDocComments(node);
emitModuleElementDeclarationFlags(node);
if (ts.hasModifier(node, 128)) {
@@ -52304,15 +52374,22 @@ var ts;
}
write("class ");
writeTextOfNode(currentText, node.name);
var prevEnclosingDeclaration = enclosingDeclaration;
enclosingDeclaration = node;
emitTypeParameters(node.typeParameters);
var baseTypeNode = ts.getClassExtendsHeritageClauseElement(node);
if (baseTypeNode) {
node.name;
emitHeritageClause(node.name, [baseTypeNode], false);
if (!ts.isEntityNameExpression(baseTypeNode.expression)) {
write(" extends ");
write(tempVarName);
if (baseTypeNode.typeArguments) {
write("<");
emitCommaList(baseTypeNode.typeArguments, emitType);
write(">");
}
}
else {
emitHeritageClause([baseTypeNode], false);
}
}
emitHeritageClause(node.name, ts.getClassImplementsHeritageClauseElements(node), true);
emitHeritageClause(ts.getClassImplementsHeritageClauseElements(node), true);
write(" {");
writeLine();
increaseIndent();
@@ -52333,7 +52410,7 @@ var ts;
emitTypeParameters(node.typeParameters);
var interfaceExtendsTypes = ts.filter(ts.getInterfaceBaseTypeNodes(node), function (base) { return ts.isEntityNameExpression(base.expression); });
if (interfaceExtendsTypes && interfaceExtendsTypes.length) {
emitHeritageClause(node.name, interfaceExtendsTypes, false);
emitHeritageClause(interfaceExtendsTypes, false);
}
write(" {");
writeLine();
@@ -54347,7 +54424,7 @@ var ts;
write("{}");
}
else {
var indentedFlag = ts.getEmitFlags(node) & 32768;
var indentedFlag = ts.getEmitFlags(node) & 65536;
if (indentedFlag) {
increaseIndent();
}
@@ -54362,7 +54439,7 @@ var ts;
function emitPropertyAccessExpression(node) {
var indentBeforeDot = false;
var indentAfterDot = false;
if (!(ts.getEmitFlags(node) & 65536)) {
if (!(ts.getEmitFlags(node) & 131072)) {
var dotRangeStart = node.expression.end;
var dotRangeEnd = ts.skipTrivia(currentSourceFile.text, node.expression.end) + 1;
var dotToken = { kind: 23, pos: dotRangeStart, end: dotRangeEnd };
@@ -54737,11 +54814,11 @@ var ts;
var body = node.body;
if (body) {
if (ts.isBlock(body)) {
var indentedFlag = ts.getEmitFlags(node) & 32768;
var indentedFlag = ts.getEmitFlags(node) & 65536;
if (indentedFlag) {
increaseIndent();
}
if (ts.getEmitFlags(node) & 262144) {
if (ts.getEmitFlags(node) & 524288) {
emitSignatureHead(node);
if (onEmitNode) {
onEmitNode(3, body, emitBlockCallback);
@@ -54844,7 +54921,7 @@ var ts;
emitModifiers(node, node.modifiers);
write("class");
emitNodeWithPrefix(" ", node.name, emitIdentifierName);
var indentedFlag = ts.getEmitFlags(node) & 32768;
var indentedFlag = ts.getEmitFlags(node) & 65536;
if (indentedFlag) {
increaseIndent();
}
@@ -61889,6 +61966,9 @@ var ts;
searchForNamedImport(decl.exportClause);
return;
}
if (!decl.importClause) {
return;
}
var importClause = decl.importClause;
var namedBindings = importClause.namedBindings;
if (namedBindings && namedBindings.kind === 240) {
+10 -9
View File
@@ -2320,14 +2320,15 @@ declare namespace ts {
HelperName = 4096,
ExportName = 8192,
LocalName = 16384,
Indented = 32768,
NoIndentation = 65536,
AsyncFunctionBody = 131072,
ReuseTempVariableScope = 262144,
CustomPrologue = 524288,
NoHoisting = 1048576,
HasEndOfDeclarationMarker = 2097152,
Iterator = 4194304,
InternalName = 32768,
Indented = 65536,
NoIndentation = 131072,
AsyncFunctionBody = 262144,
ReuseTempVariableScope = 524288,
CustomPrologue = 1048576,
NoHoisting = 2097152,
HasEndOfDeclarationMarker = 4194304,
Iterator = 8388608,
}
interface EmitHelper {
readonly name: string;
@@ -2515,7 +2516,7 @@ declare namespace ts {
}
declare namespace ts {
/** The version of the TypeScript compiler release */
const version = "2.3.2";
const version = "2.3.3";
}
declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any;
declare function clearTimeout(handle: any): void;
+318 -207
View File
File diff suppressed because it is too large Load Diff
+10 -9
View File
@@ -2320,14 +2320,15 @@ declare namespace ts {
HelperName = 4096,
ExportName = 8192,
LocalName = 16384,
Indented = 32768,
NoIndentation = 65536,
AsyncFunctionBody = 131072,
ReuseTempVariableScope = 262144,
CustomPrologue = 524288,
NoHoisting = 1048576,
HasEndOfDeclarationMarker = 2097152,
Iterator = 4194304,
InternalName = 32768,
Indented = 65536,
NoIndentation = 131072,
AsyncFunctionBody = 262144,
ReuseTempVariableScope = 524288,
CustomPrologue = 1048576,
NoHoisting = 2097152,
HasEndOfDeclarationMarker = 4194304,
Iterator = 8388608,
}
interface EmitHelper {
readonly name: string;
@@ -2515,7 +2516,7 @@ declare namespace ts {
}
declare namespace ts {
/** The version of the TypeScript compiler release */
const version = "2.3.2";
const version = "2.3.3";
}
declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any;
declare function clearTimeout(handle: any): void;
+318 -207
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -152,7 +152,7 @@ var ts;
})(ts || (ts = {}));
var ts;
(function (ts) {
ts.version = "2.3.2";
ts.version = "2.3.3";
})(ts || (ts = {}));
(function (ts) {
ts.collator = typeof Intl === "object" && typeof Intl.Collator === "function" ? new Intl.Collator(undefined, { usage: "sort", sensitivity: "accent" }) : undefined;