typescript 4.7.0-dev.20220326 → 4.7.0-dev.20220329
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cs/diagnosticMessages.generated.json +1 -0
- package/lib/de/diagnosticMessages.generated.json +1 -0
- package/lib/es/diagnosticMessages.generated.json +1 -0
- package/lib/fr/diagnosticMessages.generated.json +1 -0
- package/lib/it/diagnosticMessages.generated.json +1 -0
- package/lib/ja/diagnosticMessages.generated.json +1 -0
- package/lib/ko/diagnosticMessages.generated.json +1 -0
- package/lib/pl/diagnosticMessages.generated.json +1 -0
- package/lib/pt-br/diagnosticMessages.generated.json +1 -0
- package/lib/ru/diagnosticMessages.generated.json +1 -0
- package/lib/tr/diagnosticMessages.generated.json +1 -0
- package/lib/tsc.js +75 -100
- package/lib/tsserver.js +92 -120
- package/lib/tsserverlibrary.js +92 -120
- package/lib/typescript.js +92 -120
- package/lib/typescriptServices.js +92 -120
- package/lib/typingsInstaller.js +86 -112
- package/lib/zh-cn/diagnosticMessages.generated.json +1 -0
- package/lib/zh-tw/diagnosticMessages.generated.json +1 -0
- package/package.json +1 -1
package/lib/tsserver.js
CHANGED
|
@@ -100,7 +100,7 @@ var ts;
|
|
|
100
100
|
// The following is baselined as a literal template type without intervention
|
|
101
101
|
/** The version of the TypeScript compiler release */
|
|
102
102
|
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
103
|
-
ts.version = ts.versionMajorMinor + ".0-dev.
|
|
103
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20220329";
|
|
104
104
|
/* @internal */
|
|
105
105
|
var Comparison;
|
|
106
106
|
(function (Comparison) {
|
|
@@ -13412,7 +13412,9 @@ var ts;
|
|
|
13412
13412
|
|| kind === 174 /* CallSignature */
|
|
13413
13413
|
|| kind === 166 /* PropertySignature */
|
|
13414
13414
|
|| kind === 168 /* MethodSignature */
|
|
13415
|
-
|| kind === 176 /* IndexSignature
|
|
13415
|
+
|| kind === 176 /* IndexSignature */
|
|
13416
|
+
|| kind === 172 /* GetAccessor */
|
|
13417
|
+
|| kind === 173 /* SetAccessor */;
|
|
13416
13418
|
}
|
|
13417
13419
|
ts.isTypeElement = isTypeElement;
|
|
13418
13420
|
function isClassOrTypeElement(node) {
|
|
@@ -47394,6 +47396,7 @@ var ts;
|
|
|
47394
47396
|
TypeSystemPropertyName[TypeSystemPropertyName["EnumTagType"] = 5] = "EnumTagType";
|
|
47395
47397
|
TypeSystemPropertyName[TypeSystemPropertyName["ResolvedTypeArguments"] = 6] = "ResolvedTypeArguments";
|
|
47396
47398
|
TypeSystemPropertyName[TypeSystemPropertyName["ResolvedBaseTypes"] = 7] = "ResolvedBaseTypes";
|
|
47399
|
+
TypeSystemPropertyName[TypeSystemPropertyName["WriteType"] = 8] = "WriteType";
|
|
47397
47400
|
})(TypeSystemPropertyName || (TypeSystemPropertyName = {}));
|
|
47398
47401
|
var CheckMode;
|
|
47399
47402
|
(function (CheckMode) {
|
|
@@ -48908,6 +48911,10 @@ var ts;
|
|
|
48908
48911
|
}
|
|
48909
48912
|
}
|
|
48910
48913
|
}
|
|
48914
|
+
function isConstAssertion(location) {
|
|
48915
|
+
return (ts.isAssertionExpression(location) && ts.isConstTypeReference(location.type))
|
|
48916
|
+
|| (ts.isJSDocTypeTag(location) && ts.isConstTypeReference(location.typeExpression));
|
|
48917
|
+
}
|
|
48911
48918
|
/**
|
|
48912
48919
|
* Resolve a given name for a given meaning at a given location. An error is reported if the name was not found and
|
|
48913
48920
|
* the nameNotFoundMessage argument is not undefined. Returns the resolved symbol, or undefined if no symbol with
|
|
@@ -48933,6 +48940,11 @@ var ts;
|
|
|
48933
48940
|
var grandparent;
|
|
48934
48941
|
var isInExternalModule = false;
|
|
48935
48942
|
loop: while (location) {
|
|
48943
|
+
if (name === "const" && isConstAssertion(location)) {
|
|
48944
|
+
// `const` in an `as const` has no symbol, but issues no error because there is no *actual* lookup of the type
|
|
48945
|
+
// (it refers to the constant type of the expression instead)
|
|
48946
|
+
return undefined;
|
|
48947
|
+
}
|
|
48936
48948
|
// Locals of a source file are not in scope (because they get merged into the global symbol table)
|
|
48937
48949
|
if (location.locals && !isGlobalSourceFile(location)) {
|
|
48938
48950
|
if (result = lookup(location.locals, name, meaning)) {
|
|
@@ -54881,6 +54893,8 @@ var ts;
|
|
|
54881
54893
|
return !!target.resolvedTypeArguments;
|
|
54882
54894
|
case 7 /* ResolvedBaseTypes */:
|
|
54883
54895
|
return !!target.baseTypesResolved;
|
|
54896
|
+
case 8 /* WriteType */:
|
|
54897
|
+
return !!getSymbolLinks(target).writeType;
|
|
54884
54898
|
}
|
|
54885
54899
|
return ts.Debug.assertNever(propertyName);
|
|
54886
54900
|
}
|
|
@@ -55798,6 +55812,11 @@ var ts;
|
|
|
55798
55812
|
}
|
|
55799
55813
|
return getWidenedType(getWidenedLiteralType(checkExpression(declaration.statements[0].expression)));
|
|
55800
55814
|
}
|
|
55815
|
+
if (ts.isAccessor(declaration)) {
|
|
55816
|
+
// Binding of certain patterns in JS code will occasionally mark symbols as both properties
|
|
55817
|
+
// and accessors. Here we dispatch to accessor resolution if needed.
|
|
55818
|
+
return getTypeOfAccessors(symbol);
|
|
55819
|
+
}
|
|
55801
55820
|
// Handle variable, parameter or property
|
|
55802
55821
|
if (!pushTypeResolution(symbol, 0 /* Type */)) {
|
|
55803
55822
|
// Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty`
|
|
@@ -55861,9 +55880,6 @@ var ts;
|
|
|
55861
55880
|
else if (ts.isEnumMember(declaration)) {
|
|
55862
55881
|
type = getTypeOfEnumMember(symbol);
|
|
55863
55882
|
}
|
|
55864
|
-
else if (ts.isAccessor(declaration)) {
|
|
55865
|
-
type = resolveTypeOfAccessors(symbol) || ts.Debug.fail("Non-write accessor resolution must always produce a type");
|
|
55866
|
-
}
|
|
55867
55883
|
else {
|
|
55868
55884
|
return ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.formatSyntaxKind(declaration.kind) + " for " + ts.Debug.formatSymbol(symbol));
|
|
55869
55885
|
}
|
|
@@ -55902,87 +55918,61 @@ var ts;
|
|
|
55902
55918
|
}
|
|
55903
55919
|
function getTypeOfAccessors(symbol) {
|
|
55904
55920
|
var links = getSymbolLinks(symbol);
|
|
55905
|
-
|
|
55906
|
-
|
|
55907
|
-
|
|
55908
|
-
|
|
55909
|
-
return links.writeType || (links.writeType = getTypeOfAccessorsWorker(symbol, /*writing*/ true));
|
|
55910
|
-
}
|
|
55911
|
-
function getTypeOfAccessorsWorker(symbol, writing) {
|
|
55912
|
-
if (writing === void 0) { writing = false; }
|
|
55913
|
-
if (!pushTypeResolution(symbol, 0 /* Type */)) {
|
|
55914
|
-
return errorType;
|
|
55915
|
-
}
|
|
55916
|
-
var type = resolveTypeOfAccessors(symbol, writing);
|
|
55917
|
-
if (!popTypeResolution()) {
|
|
55921
|
+
if (!links.type) {
|
|
55922
|
+
if (!pushTypeResolution(symbol, 0 /* Type */)) {
|
|
55923
|
+
return errorType;
|
|
55924
|
+
}
|
|
55918
55925
|
var getter = ts.getDeclarationOfKind(symbol, 172 /* GetAccessor */);
|
|
55919
|
-
|
|
55920
|
-
|
|
55921
|
-
|
|
55926
|
+
var setter = ts.getDeclarationOfKind(symbol, 173 /* SetAccessor */);
|
|
55927
|
+
// We try to resolve a getter type annotation, a setter type annotation, or a getter function
|
|
55928
|
+
// body return type inference, in that order.
|
|
55929
|
+
var type = getter && ts.isInJSFile(getter) && getTypeForDeclarationFromJSDocComment(getter) ||
|
|
55930
|
+
getAnnotatedAccessorType(getter) ||
|
|
55931
|
+
getAnnotatedAccessorType(setter) ||
|
|
55932
|
+
getter && getter.body && getReturnTypeFromBody(getter);
|
|
55933
|
+
if (!type) {
|
|
55934
|
+
if (setter && !isPrivateWithinAmbient(setter)) {
|
|
55935
|
+
errorOrSuggestion(noImplicitAny, setter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation, symbolToString(symbol));
|
|
55936
|
+
}
|
|
55937
|
+
else if (getter && !isPrivateWithinAmbient(getter)) {
|
|
55938
|
+
errorOrSuggestion(noImplicitAny, getter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, symbolToString(symbol));
|
|
55939
|
+
}
|
|
55940
|
+
type = anyType;
|
|
55941
|
+
}
|
|
55942
|
+
if (!popTypeResolution()) {
|
|
55943
|
+
if (getAnnotatedAccessorTypeNode(getter)) {
|
|
55944
|
+
error(getter, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol));
|
|
55945
|
+
}
|
|
55946
|
+
else if (getAnnotatedAccessorTypeNode(setter)) {
|
|
55947
|
+
error(setter, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol));
|
|
55922
55948
|
}
|
|
55923
|
-
else if (noImplicitAny) {
|
|
55949
|
+
else if (getter && noImplicitAny) {
|
|
55924
55950
|
error(getter, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol));
|
|
55925
55951
|
}
|
|
55952
|
+
type = anyType;
|
|
55926
55953
|
}
|
|
55927
|
-
type =
|
|
55954
|
+
links.type = type;
|
|
55928
55955
|
}
|
|
55929
|
-
return type;
|
|
55956
|
+
return links.type;
|
|
55930
55957
|
}
|
|
55931
|
-
function
|
|
55932
|
-
|
|
55933
|
-
|
|
55934
|
-
|
|
55935
|
-
|
|
55936
|
-
if (writing) {
|
|
55937
|
-
var setterType_1 = getAnnotatedAccessorType(setter);
|
|
55938
|
-
if (setterType_1) {
|
|
55939
|
-
return instantiateTypeIfNeeded(setterType_1, symbol);
|
|
55940
|
-
}
|
|
55941
|
-
}
|
|
55942
|
-
// Else defer to the getter type
|
|
55943
|
-
if (getter && ts.isInJSFile(getter)) {
|
|
55944
|
-
var jsDocType = getTypeForDeclarationFromJSDocComment(getter);
|
|
55945
|
-
if (jsDocType) {
|
|
55946
|
-
return instantiateTypeIfNeeded(jsDocType, symbol);
|
|
55947
|
-
}
|
|
55948
|
-
}
|
|
55949
|
-
// Try to see if the user specified a return type on the get-accessor.
|
|
55950
|
-
var getterType = getAnnotatedAccessorType(getter);
|
|
55951
|
-
if (getterType) {
|
|
55952
|
-
return instantiateTypeIfNeeded(getterType, symbol);
|
|
55953
|
-
}
|
|
55954
|
-
// If the user didn't specify a return type, try to use the set-accessor's parameter type.
|
|
55955
|
-
var setterType = getAnnotatedAccessorType(setter);
|
|
55956
|
-
if (setterType) {
|
|
55957
|
-
return setterType;
|
|
55958
|
-
}
|
|
55959
|
-
// If there are no specified types, try to infer it from the body of the get accessor if it exists.
|
|
55960
|
-
if (getter && getter.body) {
|
|
55961
|
-
var returnTypeFromBody = getReturnTypeFromBody(getter);
|
|
55962
|
-
return instantiateTypeIfNeeded(returnTypeFromBody, symbol);
|
|
55963
|
-
}
|
|
55964
|
-
// Otherwise, fall back to 'any'.
|
|
55965
|
-
if (setter) {
|
|
55966
|
-
if (!isPrivateWithinAmbient(setter)) {
|
|
55967
|
-
errorOrSuggestion(noImplicitAny, setter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation, symbolToString(symbol));
|
|
55968
|
-
}
|
|
55969
|
-
return anyType;
|
|
55970
|
-
}
|
|
55971
|
-
else if (getter) {
|
|
55972
|
-
ts.Debug.assert(!!getter, "there must exist a getter as we are current checking either setter or getter in this function");
|
|
55973
|
-
if (!isPrivateWithinAmbient(getter)) {
|
|
55974
|
-
errorOrSuggestion(noImplicitAny, getter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, symbolToString(symbol));
|
|
55958
|
+
function getWriteTypeOfAccessors(symbol) {
|
|
55959
|
+
var links = getSymbolLinks(symbol);
|
|
55960
|
+
if (!links.writeType) {
|
|
55961
|
+
if (!pushTypeResolution(symbol, 8 /* WriteType */)) {
|
|
55962
|
+
return errorType;
|
|
55975
55963
|
}
|
|
55976
|
-
|
|
55977
|
-
|
|
55978
|
-
|
|
55979
|
-
|
|
55980
|
-
|
|
55981
|
-
|
|
55982
|
-
|
|
55964
|
+
var setter = ts.getDeclarationOfKind(symbol, 173 /* SetAccessor */);
|
|
55965
|
+
var writeType = getAnnotatedAccessorType(setter);
|
|
55966
|
+
if (!popTypeResolution()) {
|
|
55967
|
+
if (getAnnotatedAccessorTypeNode(setter)) {
|
|
55968
|
+
error(setter, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol));
|
|
55969
|
+
}
|
|
55970
|
+
writeType = anyType;
|
|
55983
55971
|
}
|
|
55984
|
-
|
|
55972
|
+
// Absent an explicit setter type annotation we use the read type of the accessor.
|
|
55973
|
+
links.writeType = writeType || getTypeOfAccessors(symbol);
|
|
55985
55974
|
}
|
|
55975
|
+
return links.writeType;
|
|
55986
55976
|
}
|
|
55987
55977
|
function getBaseTypeVariableOfClass(symbol) {
|
|
55988
55978
|
var baseConstructorType = getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(symbol));
|
|
@@ -56064,17 +56054,11 @@ var ts;
|
|
|
56064
56054
|
}
|
|
56065
56055
|
function getTypeOfInstantiatedSymbol(symbol) {
|
|
56066
56056
|
var links = getSymbolLinks(symbol);
|
|
56067
|
-
|
|
56068
|
-
|
|
56069
|
-
|
|
56070
|
-
|
|
56071
|
-
|
|
56072
|
-
if (!popTypeResolution()) {
|
|
56073
|
-
type = reportCircularityError(symbol);
|
|
56074
|
-
}
|
|
56075
|
-
links.type = type;
|
|
56076
|
-
}
|
|
56077
|
-
return links.type;
|
|
56057
|
+
return links.type || (links.type = instantiateType(getTypeOfSymbol(links.target), links.mapper));
|
|
56058
|
+
}
|
|
56059
|
+
function getWriteTypeOfInstantiatedSymbol(symbol) {
|
|
56060
|
+
var links = getSymbolLinks(symbol);
|
|
56061
|
+
return links.writeType || (links.writeType = instantiateType(getWriteTypeOfSymbol(links.target), links.mapper));
|
|
56078
56062
|
}
|
|
56079
56063
|
function reportCircularityError(symbol) {
|
|
56080
56064
|
var declaration = symbol.valueDeclaration;
|
|
@@ -56111,35 +56095,23 @@ var ts;
|
|
|
56111
56095
|
return links.writeType;
|
|
56112
56096
|
}
|
|
56113
56097
|
/**
|
|
56114
|
-
* Distinct write types come only from set accessors, but union and intersection
|
|
56115
|
-
* properties deriving from set accessors will either pre-compute or defer the
|
|
56116
|
-
*
|
|
56117
|
-
* this, we will assume that any deferred type or transient symbol may have a
|
|
56118
|
-
* `writeType` (or a deferred write type ready to be computed) that should be
|
|
56119
|
-
* used before looking for set accessor declarations.
|
|
56098
|
+
* Distinct write types come only from set accessors, but synthetic union and intersection
|
|
56099
|
+
* properties deriving from set accessors will either pre-compute or defer the union or
|
|
56100
|
+
* intersection of the writeTypes of their constituents.
|
|
56120
56101
|
*/
|
|
56121
56102
|
function getWriteTypeOfSymbol(symbol) {
|
|
56122
56103
|
var checkFlags = ts.getCheckFlags(symbol);
|
|
56123
|
-
if (
|
|
56124
|
-
|
|
56125
|
-
|
|
56126
|
-
|
|
56127
|
-
|
|
56104
|
+
if (symbol.flags & 4 /* Property */) {
|
|
56105
|
+
return checkFlags & 2 /* SyntheticProperty */ ?
|
|
56106
|
+
checkFlags & 65536 /* DeferredType */ ?
|
|
56107
|
+
getWriteTypeOfSymbolWithDeferredType(symbol) || getTypeOfSymbolWithDeferredType(symbol) :
|
|
56108
|
+
symbol.writeType || symbol.type :
|
|
56109
|
+
getTypeOfSymbol(symbol);
|
|
56128
56110
|
}
|
|
56129
|
-
if (symbol.flags & 33554432 /* Transient */) {
|
|
56130
|
-
var writeType = symbol.writeType;
|
|
56131
|
-
if (writeType) {
|
|
56132
|
-
return writeType;
|
|
56133
|
-
}
|
|
56134
|
-
}
|
|
56135
|
-
return getSetAccessorTypeOfSymbol(symbol);
|
|
56136
|
-
}
|
|
56137
|
-
function getSetAccessorTypeOfSymbol(symbol) {
|
|
56138
56111
|
if (symbol.flags & 98304 /* Accessor */) {
|
|
56139
|
-
|
|
56140
|
-
|
|
56141
|
-
|
|
56142
|
-
}
|
|
56112
|
+
return checkFlags & 1 /* Instantiated */ ?
|
|
56113
|
+
getWriteTypeOfInstantiatedSymbol(symbol) :
|
|
56114
|
+
getWriteTypeOfAccessors(symbol);
|
|
56143
56115
|
}
|
|
56144
56116
|
return getTypeOfSymbol(symbol);
|
|
56145
56117
|
}
|
|
@@ -70610,7 +70582,7 @@ var ts;
|
|
|
70610
70582
|
}
|
|
70611
70583
|
}
|
|
70612
70584
|
if (ts.isDeclarationName(location) && ts.isSetAccessor(location.parent) && getAnnotatedAccessorTypeNode(location.parent)) {
|
|
70613
|
-
return
|
|
70585
|
+
return getWriteTypeOfAccessors(location.parent.symbol);
|
|
70614
70586
|
}
|
|
70615
70587
|
// The location isn't a reference to the given symbol, meaning we're being asked
|
|
70616
70588
|
// a hypothetical question of what type the symbol would have if there was a reference
|
|
@@ -81813,6 +81785,8 @@ var ts;
|
|
|
81813
81785
|
(condExpr.operatorToken.kind === 56 /* BarBarToken */ || condExpr.operatorToken.kind === 55 /* AmpersandAmpersandToken */)
|
|
81814
81786
|
? condExpr.right
|
|
81815
81787
|
: condExpr;
|
|
81788
|
+
if (ts.isModuleExportsAccessExpression(location))
|
|
81789
|
+
return;
|
|
81816
81790
|
var type = checkTruthinessExpression(location);
|
|
81817
81791
|
var isPropertyExpressionCast = ts.isPropertyAccessExpression(location) && isTypeAssertion(location.expression);
|
|
81818
81792
|
if (getFalsyFlags(type) || isPropertyExpressionCast)
|
|
@@ -126073,12 +126047,8 @@ var ts;
|
|
|
126073
126047
|
}
|
|
126074
126048
|
}
|
|
126075
126049
|
ts.findNextToken = findNextToken;
|
|
126076
|
-
/**
|
|
126077
|
-
* Finds the rightmost token satisfying `token.end <= position`,
|
|
126078
|
-
* excluding `JsxText` tokens containing only whitespace.
|
|
126079
|
-
*/
|
|
126080
126050
|
function findPrecedingToken(position, sourceFile, startNode, excludeJsdoc) {
|
|
126081
|
-
var result = find(startNode || sourceFile);
|
|
126051
|
+
var result = find((startNode || sourceFile));
|
|
126082
126052
|
ts.Debug.assert(!(result && isWhiteSpaceOnlyJsxText(result)));
|
|
126083
126053
|
return result;
|
|
126084
126054
|
function find(n) {
|
|
@@ -145336,6 +145306,7 @@ var ts;
|
|
|
145336
145306
|
return formatting.getFormattingScanner(sourceFile.text, sourceFile.languageVariant, getScanStartPosition(enclosingNode, originalRange, sourceFile), originalRange.end, function (scanner) { return formatSpanWorker(originalRange, enclosingNode, formatting.SmartIndenter.getIndentationForNode(enclosingNode, originalRange, sourceFile, formatContext.options), getOwnOrInheritedDelta(enclosingNode, formatContext.options, sourceFile), scanner, formatContext, requestKind, prepareRangeContainsErrorFunction(sourceFile.parseDiagnostics, originalRange), sourceFile); });
|
|
145337
145307
|
}
|
|
145338
145308
|
function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delta, formattingScanner, _a, requestKind, rangeContainsError, sourceFile) {
|
|
145309
|
+
var _b;
|
|
145339
145310
|
var options = _a.options, getRules = _a.getRules, host = _a.host;
|
|
145340
145311
|
// formatting context is used by rules provider
|
|
145341
145312
|
var formattingContext = new formatting.FormattingContext(sourceFile, requestKind, options);
|
|
@@ -145367,11 +145338,12 @@ var ts;
|
|
|
145367
145338
|
}
|
|
145368
145339
|
}
|
|
145369
145340
|
if (previousRange && formattingScanner.getStartPos() >= originalRange.end) {
|
|
145370
|
-
var
|
|
145341
|
+
var tokenInfo = formattingScanner.isOnEOF() ? formattingScanner.readEOFTokenRange() :
|
|
145371
145342
|
formattingScanner.isOnToken() ? formattingScanner.readTokenInfo(enclosingNode).token :
|
|
145372
145343
|
undefined;
|
|
145373
|
-
if (
|
|
145374
|
-
|
|
145344
|
+
if (tokenInfo) {
|
|
145345
|
+
var parent = ((_b = ts.findPrecedingToken(tokenInfo.end, sourceFile, enclosingNode)) === null || _b === void 0 ? void 0 : _b.parent) || previousParent;
|
|
145346
|
+
processPair(tokenInfo, sourceFile.getLineAndCharacterOfPosition(tokenInfo.pos).line, parent, previousRange, previousRangeStartLine, previousParent, parent,
|
|
145375
145347
|
/*dynamicIndentation*/ undefined);
|
|
145376
145348
|
}
|
|
145377
145349
|
}
|