mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Update LKG
This commit is contained in:
Vendored
+3
-3
@@ -7811,7 +7811,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent
|
||||
/**
|
||||
* Contains information about the current URL.
|
||||
*/
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
msCSSOMElementFloatMetrics: boolean;
|
||||
msCapsLockWarningOff: boolean;
|
||||
/**
|
||||
@@ -19066,7 +19066,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window
|
||||
readonly innerWidth: number;
|
||||
readonly isSecureContext: boolean;
|
||||
readonly length: number;
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
readonly locationbar: BarProp;
|
||||
readonly menubar: BarProp;
|
||||
readonly msContentScript: ExtensionScriptApis;
|
||||
@@ -19875,7 +19875,7 @@ declare var innerHeight: number;
|
||||
declare var innerWidth: number;
|
||||
declare var isSecureContext: boolean;
|
||||
declare var length: number;
|
||||
declare var location: Location | string;
|
||||
declare var location: Location;
|
||||
declare var locationbar: BarProp;
|
||||
declare var menubar: BarProp;
|
||||
declare var msContentScript: ExtensionScriptApis;
|
||||
|
||||
Vendored
+3
-3
@@ -3674,7 +3674,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent
|
||||
/**
|
||||
* Contains information about the current URL.
|
||||
*/
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
msCSSOMElementFloatMetrics: boolean;
|
||||
msCapsLockWarningOff: boolean;
|
||||
/**
|
||||
@@ -14929,7 +14929,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window
|
||||
readonly innerWidth: number;
|
||||
readonly isSecureContext: boolean;
|
||||
readonly length: number;
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
readonly locationbar: BarProp;
|
||||
readonly menubar: BarProp;
|
||||
readonly msContentScript: ExtensionScriptApis;
|
||||
@@ -15738,7 +15738,7 @@ declare var innerHeight: number;
|
||||
declare var innerWidth: number;
|
||||
declare var isSecureContext: boolean;
|
||||
declare var length: number;
|
||||
declare var location: Location | string;
|
||||
declare var location: Location;
|
||||
declare var locationbar: BarProp;
|
||||
declare var menubar: BarProp;
|
||||
declare var msContentScript: ExtensionScriptApis;
|
||||
|
||||
Vendored
+3
-3
@@ -3677,7 +3677,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent
|
||||
/**
|
||||
* Contains information about the current URL.
|
||||
*/
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
msCSSOMElementFloatMetrics: boolean;
|
||||
msCapsLockWarningOff: boolean;
|
||||
/**
|
||||
@@ -14932,7 +14932,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window
|
||||
readonly innerWidth: number;
|
||||
readonly isSecureContext: boolean;
|
||||
readonly length: number;
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
readonly locationbar: BarProp;
|
||||
readonly menubar: BarProp;
|
||||
readonly msContentScript: ExtensionScriptApis;
|
||||
@@ -15741,7 +15741,7 @@ declare var innerHeight: number;
|
||||
declare var innerWidth: number;
|
||||
declare var isSecureContext: boolean;
|
||||
declare var length: number;
|
||||
declare var location: Location | string;
|
||||
declare var location: Location;
|
||||
declare var locationbar: BarProp;
|
||||
declare var menubar: BarProp;
|
||||
declare var msContentScript: ExtensionScriptApis;
|
||||
|
||||
Vendored
+3
-3
@@ -3682,7 +3682,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent
|
||||
/**
|
||||
* Contains information about the current URL.
|
||||
*/
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
msCSSOMElementFloatMetrics: boolean;
|
||||
msCapsLockWarningOff: boolean;
|
||||
/**
|
||||
@@ -14937,7 +14937,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window
|
||||
readonly innerWidth: number;
|
||||
readonly isSecureContext: boolean;
|
||||
readonly length: number;
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
readonly locationbar: BarProp;
|
||||
readonly menubar: BarProp;
|
||||
readonly msContentScript: ExtensionScriptApis;
|
||||
@@ -15746,7 +15746,7 @@ declare var innerHeight: number;
|
||||
declare var innerWidth: number;
|
||||
declare var isSecureContext: boolean;
|
||||
declare var length: number;
|
||||
declare var location: Location | string;
|
||||
declare var location: Location;
|
||||
declare var locationbar: BarProp;
|
||||
declare var menubar: BarProp;
|
||||
declare var msContentScript: ExtensionScriptApis;
|
||||
|
||||
Vendored
+3
-3
@@ -3678,7 +3678,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent
|
||||
/**
|
||||
* Contains information about the current URL.
|
||||
*/
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
msCSSOMElementFloatMetrics: boolean;
|
||||
msCapsLockWarningOff: boolean;
|
||||
/**
|
||||
@@ -14933,7 +14933,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window
|
||||
readonly innerWidth: number;
|
||||
readonly isSecureContext: boolean;
|
||||
readonly length: number;
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
readonly locationbar: BarProp;
|
||||
readonly menubar: BarProp;
|
||||
readonly msContentScript: ExtensionScriptApis;
|
||||
@@ -15742,7 +15742,7 @@ declare var innerHeight: number;
|
||||
declare var innerWidth: number;
|
||||
declare var isSecureContext: boolean;
|
||||
declare var length: number;
|
||||
declare var location: Location | string;
|
||||
declare var location: Location;
|
||||
declare var locationbar: BarProp;
|
||||
declare var menubar: BarProp;
|
||||
declare var msContentScript: ExtensionScriptApis;
|
||||
|
||||
Vendored
+3
-3
@@ -9522,7 +9522,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent
|
||||
/**
|
||||
* Contains information about the current URL.
|
||||
*/
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
msCSSOMElementFloatMetrics: boolean;
|
||||
msCapsLockWarningOff: boolean;
|
||||
/**
|
||||
@@ -20777,7 +20777,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window
|
||||
readonly innerWidth: number;
|
||||
readonly isSecureContext: boolean;
|
||||
readonly length: number;
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
readonly locationbar: BarProp;
|
||||
readonly menubar: BarProp;
|
||||
readonly msContentScript: ExtensionScriptApis;
|
||||
@@ -21586,7 +21586,7 @@ declare var innerHeight: number;
|
||||
declare var innerWidth: number;
|
||||
declare var isSecureContext: boolean;
|
||||
declare var length: number;
|
||||
declare var location: Location | string;
|
||||
declare var location: Location;
|
||||
declare var locationbar: BarProp;
|
||||
declare var menubar: BarProp;
|
||||
declare var msContentScript: ExtensionScriptApis;
|
||||
|
||||
Vendored
+3
-3
@@ -3679,7 +3679,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent
|
||||
/**
|
||||
* Contains information about the current URL.
|
||||
*/
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
msCSSOMElementFloatMetrics: boolean;
|
||||
msCapsLockWarningOff: boolean;
|
||||
/**
|
||||
@@ -14934,7 +14934,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window
|
||||
readonly innerWidth: number;
|
||||
readonly isSecureContext: boolean;
|
||||
readonly length: number;
|
||||
location: Location | string;
|
||||
location: Location;
|
||||
readonly locationbar: BarProp;
|
||||
readonly menubar: BarProp;
|
||||
readonly msContentScript: ExtensionScriptApis;
|
||||
@@ -15743,7 +15743,7 @@ declare var innerHeight: number;
|
||||
declare var innerWidth: number;
|
||||
declare var isSecureContext: boolean;
|
||||
declare var length: number;
|
||||
declare var location: Location | string;
|
||||
declare var location: Location;
|
||||
declare var locationbar: BarProp;
|
||||
declare var menubar: BarProp;
|
||||
declare var msContentScript: ExtensionScriptApis;
|
||||
|
||||
+1
-1
@@ -62135,7 +62135,7 @@ var ts;
|
||||
}
|
||||
if (options.emitDeclarationOnly) {
|
||||
if (!options.declaration) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declarations");
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declaration");
|
||||
}
|
||||
if (options.noEmit) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit");
|
||||
|
||||
+106
-18
@@ -63491,7 +63491,7 @@ var ts;
|
||||
}
|
||||
if (options.emitDeclarationOnly) {
|
||||
if (!options.declaration) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declarations");
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declaration");
|
||||
}
|
||||
if (options.noEmit) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit");
|
||||
@@ -66368,6 +66368,88 @@ var ts;
|
||||
return ts.isTemplateLiteralKind(token.kind) && position > token.getStart(sourceFile);
|
||||
}
|
||||
ts.isInTemplateString = isInTemplateString;
|
||||
function findPrecedingMatchingToken(token, matchingTokenKind, sourceFile) {
|
||||
var tokenKind = token.kind;
|
||||
var remainingMatchingTokens = 0;
|
||||
while (true) {
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
if (!token) {
|
||||
return undefined;
|
||||
}
|
||||
if (token.kind === matchingTokenKind) {
|
||||
if (remainingMatchingTokens === 0) {
|
||||
return token;
|
||||
}
|
||||
remainingMatchingTokens--;
|
||||
}
|
||||
else if (token.kind === tokenKind) {
|
||||
remainingMatchingTokens++;
|
||||
}
|
||||
}
|
||||
}
|
||||
ts.findPrecedingMatchingToken = findPrecedingMatchingToken;
|
||||
function isPossiblyTypeArgumentPosition(token, sourceFile) {
|
||||
var remainingLessThanTokens = 0;
|
||||
while (token) {
|
||||
switch (token.kind) {
|
||||
case 27:
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
var tokenIsIdentifier = token && ts.isIdentifier(token);
|
||||
if (!remainingLessThanTokens || !tokenIsIdentifier) {
|
||||
return tokenIsIdentifier;
|
||||
}
|
||||
remainingLessThanTokens--;
|
||||
break;
|
||||
case 47:
|
||||
remainingLessThanTokens = +3;
|
||||
break;
|
||||
case 46:
|
||||
remainingLessThanTokens = +2;
|
||||
break;
|
||||
case 29:
|
||||
remainingLessThanTokens++;
|
||||
break;
|
||||
case 18:
|
||||
token = findPrecedingMatchingToken(token, 17, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
case 20:
|
||||
token = findPrecedingMatchingToken(token, 19, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
case 22:
|
||||
token = findPrecedingMatchingToken(token, 21, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
case 26:
|
||||
case 36:
|
||||
case 71:
|
||||
case 9:
|
||||
case 8:
|
||||
case 101:
|
||||
case 86:
|
||||
case 103:
|
||||
case 85:
|
||||
case 128:
|
||||
case 23:
|
||||
case 49:
|
||||
case 55:
|
||||
case 56:
|
||||
break;
|
||||
default:
|
||||
if (ts.isTypeNode(token)) {
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
ts.isPossiblyTypeArgumentPosition = isPossiblyTypeArgumentPosition;
|
||||
function isInComment(sourceFile, position, tokenAtPosition, predicate) {
|
||||
return !!ts.formatting.getRangeOfEnclosingComment(sourceFile, position, false, undefined, tokenAtPosition, predicate);
|
||||
}
|
||||
@@ -69110,6 +69192,7 @@ var ts;
|
||||
completionKind = 2;
|
||||
var isTypeLocation = insideJsDocTagTypeExpression || ts.isPartOfTypeNode(node.parent);
|
||||
var isRhsOfImportDeclaration = ts.isInRightSideOfInternalImportEqualsDeclaration(node);
|
||||
var allowTypeOrValue = isRhsOfImportDeclaration || (!isTypeLocation && ts.isPossiblyTypeArgumentPosition(contextToken, sourceFile));
|
||||
if (ts.isEntityName(node)) {
|
||||
var symbol = typeChecker.getSymbolAtLocation(node);
|
||||
if (symbol) {
|
||||
@@ -69118,7 +69201,7 @@ var ts;
|
||||
var exportedSymbols = ts.Debug.assertEachDefined(typeChecker.getExportsOfModule(symbol), "getExportsOfModule() should all be defined");
|
||||
var isValidValueAccess_1 = function (symbol) { return typeChecker.isValidPropertyAccess((node.parent), symbol.name); };
|
||||
var isValidTypeAccess_1 = function (symbol) { return symbolCanBeReferencedAtTypeLocation(symbol); };
|
||||
var isValidAccess = isRhsOfImportDeclaration ?
|
||||
var isValidAccess = allowTypeOrValue ?
|
||||
function (symbol) { return isValidTypeAccess_1(symbol) || isValidValueAccess_1(symbol); } :
|
||||
isTypeLocation ? isValidTypeAccess_1 : isValidValueAccess_1;
|
||||
for (var _i = 0, exportedSymbols_1 = exportedSymbols; _i < exportedSymbols_1.length; _i++) {
|
||||
@@ -69227,8 +69310,9 @@ var ts;
|
||||
}
|
||||
}
|
||||
function filterGlobalCompletion(symbols) {
|
||||
var isTypeCompletion = insideJsDocTagTypeExpression || !isContextTokenValueLocation(contextToken) && (ts.isPartOfTypeNode(location) || isContextTokenTypeLocation(contextToken));
|
||||
if (isTypeCompletion)
|
||||
var isTypeOnlyCompletion = insideJsDocTagTypeExpression || !isContextTokenValueLocation(contextToken) && (ts.isPartOfTypeNode(location) || isContextTokenTypeLocation(contextToken));
|
||||
var allowTypes = isTypeOnlyCompletion || !isContextTokenValueLocation(contextToken) && ts.isPossiblyTypeArgumentPosition(contextToken, sourceFile);
|
||||
if (isTypeOnlyCompletion)
|
||||
keywordFilters = 4;
|
||||
ts.filterMutate(symbols, function (symbol) {
|
||||
if (!ts.isSourceFile(location)) {
|
||||
@@ -69239,8 +69323,11 @@ var ts;
|
||||
if (ts.isInRightSideOfInternalImportEqualsDeclaration(location)) {
|
||||
return !!(symbol.flags & 1920);
|
||||
}
|
||||
if (isTypeCompletion) {
|
||||
return symbolCanBeReferencedAtTypeLocation(symbol);
|
||||
if (allowTypes) {
|
||||
var symbolAllowedAsType = symbolCanBeReferencedAtTypeLocation(symbol);
|
||||
if (symbolAllowedAsType || isTypeOnlyCompletion) {
|
||||
return symbolAllowedAsType;
|
||||
}
|
||||
}
|
||||
}
|
||||
return !!(ts.getCombinedLocalAndExportSymbolFlags(symbol) & 67216319);
|
||||
@@ -69249,7 +69336,7 @@ var ts;
|
||||
function isContextTokenValueLocation(contextToken) {
|
||||
return contextToken &&
|
||||
contextToken.kind === 103 &&
|
||||
contextToken.parent.kind === 164;
|
||||
(contextToken.parent.kind === 164 || ts.isTypeOfExpression(contextToken.parent));
|
||||
}
|
||||
function isContextTokenTypeLocation(contextToken) {
|
||||
if (contextToken) {
|
||||
@@ -75262,6 +75349,10 @@ var ts;
|
||||
var SymbolDisplay;
|
||||
(function (SymbolDisplay) {
|
||||
function getSymbolKind(typeChecker, symbol, location) {
|
||||
var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
|
||||
if (result !== "") {
|
||||
return result;
|
||||
}
|
||||
var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol);
|
||||
if (flags & 32) {
|
||||
return ts.getDeclarationOfKind(symbol, 203) ?
|
||||
@@ -75275,17 +75366,14 @@ var ts;
|
||||
return "interface";
|
||||
if (flags & 262144)
|
||||
return "type parameter";
|
||||
var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
|
||||
if (result === "") {
|
||||
if (flags & 262144)
|
||||
return "type parameter";
|
||||
if (flags & 8)
|
||||
return "enum member";
|
||||
if (flags & 2097152)
|
||||
return "alias";
|
||||
if (flags & 1536)
|
||||
return "module";
|
||||
}
|
||||
if (flags & 262144)
|
||||
return "type parameter";
|
||||
if (flags & 8)
|
||||
return "enum member";
|
||||
if (flags & 2097152)
|
||||
return "alias";
|
||||
if (flags & 1536)
|
||||
return "module";
|
||||
return result;
|
||||
}
|
||||
SymbolDisplay.getSymbolKind = getSymbolKind;
|
||||
|
||||
+120
-18
@@ -79124,7 +79124,7 @@ var ts;
|
||||
}
|
||||
if (options.emitDeclarationOnly) {
|
||||
if (!options.declaration) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declarations");
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declaration");
|
||||
}
|
||||
if (options.noEmit) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit");
|
||||
@@ -80373,6 +80373,102 @@ var ts;
|
||||
return ts.isTemplateLiteralKind(token.kind) && position > token.getStart(sourceFile);
|
||||
}
|
||||
ts.isInTemplateString = isInTemplateString;
|
||||
function findPrecedingMatchingToken(token, matchingTokenKind, sourceFile) {
|
||||
var tokenKind = token.kind;
|
||||
var remainingMatchingTokens = 0;
|
||||
while (true) {
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
if (!token) {
|
||||
return undefined;
|
||||
}
|
||||
if (token.kind === matchingTokenKind) {
|
||||
if (remainingMatchingTokens === 0) {
|
||||
return token;
|
||||
}
|
||||
remainingMatchingTokens--;
|
||||
}
|
||||
else if (token.kind === tokenKind) {
|
||||
remainingMatchingTokens++;
|
||||
}
|
||||
}
|
||||
}
|
||||
ts.findPrecedingMatchingToken = findPrecedingMatchingToken;
|
||||
function isPossiblyTypeArgumentPosition(token, sourceFile) {
|
||||
// This function determines if the node could be type argument position
|
||||
// Since during editing, when type argument list is not complete,
|
||||
// the tree could be of any shape depending on the tokens parsed before current node,
|
||||
// scanning of the previous identifier followed by "<" before current node would give us better result
|
||||
// Note that we also balance out the already provided type arguments, arrays, object literals while doing so
|
||||
var remainingLessThanTokens = 0;
|
||||
while (token) {
|
||||
switch (token.kind) {
|
||||
case 27 /* LessThanToken */:
|
||||
// Found the beginning of the generic argument expression
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
var tokenIsIdentifier = token && ts.isIdentifier(token);
|
||||
if (!remainingLessThanTokens || !tokenIsIdentifier) {
|
||||
return tokenIsIdentifier;
|
||||
}
|
||||
remainingLessThanTokens--;
|
||||
break;
|
||||
case 47 /* GreaterThanGreaterThanGreaterThanToken */:
|
||||
remainingLessThanTokens = +3;
|
||||
break;
|
||||
case 46 /* GreaterThanGreaterThanToken */:
|
||||
remainingLessThanTokens = +2;
|
||||
break;
|
||||
case 29 /* GreaterThanToken */:
|
||||
remainingLessThanTokens++;
|
||||
break;
|
||||
case 18 /* CloseBraceToken */:
|
||||
// This can be object type, skip untill we find the matching open brace token
|
||||
// Skip untill the matching open brace token
|
||||
token = findPrecedingMatchingToken(token, 17 /* OpenBraceToken */, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
case 20 /* CloseParenToken */:
|
||||
// This can be object type, skip untill we find the matching open brace token
|
||||
// Skip untill the matching open brace token
|
||||
token = findPrecedingMatchingToken(token, 19 /* OpenParenToken */, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
case 22 /* CloseBracketToken */:
|
||||
// This can be object type, skip untill we find the matching open brace token
|
||||
// Skip untill the matching open brace token
|
||||
token = findPrecedingMatchingToken(token, 21 /* OpenBracketToken */, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
// Valid tokens in a type name. Skip.
|
||||
case 26 /* CommaToken */:
|
||||
case 36 /* EqualsGreaterThanToken */:
|
||||
case 71 /* Identifier */:
|
||||
case 9 /* StringLiteral */:
|
||||
case 8 /* NumericLiteral */:
|
||||
case 101 /* TrueKeyword */:
|
||||
case 86 /* FalseKeyword */:
|
||||
case 103 /* TypeOfKeyword */:
|
||||
case 85 /* ExtendsKeyword */:
|
||||
case 128 /* KeyOfKeyword */:
|
||||
case 23 /* DotToken */:
|
||||
case 49 /* BarToken */:
|
||||
case 55 /* QuestionToken */:
|
||||
case 56 /* ColonToken */:
|
||||
break;
|
||||
default:
|
||||
if (ts.isTypeNode(token)) {
|
||||
break;
|
||||
}
|
||||
// Invalid token in type
|
||||
return false;
|
||||
}
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
ts.isPossiblyTypeArgumentPosition = isPossiblyTypeArgumentPosition;
|
||||
/**
|
||||
* Returns true if the cursor at position in sourceFile is within a comment.
|
||||
*
|
||||
@@ -83607,6 +83703,7 @@ var ts;
|
||||
// Since this is qualified name check its a type node location
|
||||
var isTypeLocation = insideJsDocTagTypeExpression || ts.isPartOfTypeNode(node.parent);
|
||||
var isRhsOfImportDeclaration = ts.isInRightSideOfInternalImportEqualsDeclaration(node);
|
||||
var allowTypeOrValue = isRhsOfImportDeclaration || (!isTypeLocation && ts.isPossiblyTypeArgumentPosition(contextToken, sourceFile));
|
||||
if (ts.isEntityName(node)) {
|
||||
var symbol = typeChecker.getSymbolAtLocation(node);
|
||||
if (symbol) {
|
||||
@@ -83616,7 +83713,7 @@ var ts;
|
||||
var exportedSymbols = ts.Debug.assertEachDefined(typeChecker.getExportsOfModule(symbol), "getExportsOfModule() should all be defined");
|
||||
var isValidValueAccess_1 = function (symbol) { return typeChecker.isValidPropertyAccess((node.parent), symbol.name); };
|
||||
var isValidTypeAccess_1 = function (symbol) { return symbolCanBeReferencedAtTypeLocation(symbol); };
|
||||
var isValidAccess = isRhsOfImportDeclaration ?
|
||||
var isValidAccess = allowTypeOrValue ?
|
||||
// Any kind is allowed when dotting off namespace in internal import equals declaration
|
||||
function (symbol) { return isValidTypeAccess_1(symbol) || isValidValueAccess_1(symbol); } :
|
||||
isTypeLocation ? isValidTypeAccess_1 : isValidValueAccess_1;
|
||||
@@ -83766,8 +83863,9 @@ var ts;
|
||||
}
|
||||
}
|
||||
function filterGlobalCompletion(symbols) {
|
||||
var isTypeCompletion = insideJsDocTagTypeExpression || !isContextTokenValueLocation(contextToken) && (ts.isPartOfTypeNode(location) || isContextTokenTypeLocation(contextToken));
|
||||
if (isTypeCompletion)
|
||||
var isTypeOnlyCompletion = insideJsDocTagTypeExpression || !isContextTokenValueLocation(contextToken) && (ts.isPartOfTypeNode(location) || isContextTokenTypeLocation(contextToken));
|
||||
var allowTypes = isTypeOnlyCompletion || !isContextTokenValueLocation(contextToken) && ts.isPossiblyTypeArgumentPosition(contextToken, sourceFile);
|
||||
if (isTypeOnlyCompletion)
|
||||
keywordFilters = 4 /* TypeKeywords */;
|
||||
ts.filterMutate(symbols, function (symbol) {
|
||||
if (!ts.isSourceFile(location)) {
|
||||
@@ -83780,9 +83878,12 @@ var ts;
|
||||
if (ts.isInRightSideOfInternalImportEqualsDeclaration(location)) {
|
||||
return !!(symbol.flags & 1920 /* Namespace */);
|
||||
}
|
||||
if (isTypeCompletion) {
|
||||
if (allowTypes) {
|
||||
// Its a type, but you can reach it by namespace.type as well
|
||||
return symbolCanBeReferencedAtTypeLocation(symbol);
|
||||
var symbolAllowedAsType = symbolCanBeReferencedAtTypeLocation(symbol);
|
||||
if (symbolAllowedAsType || isTypeOnlyCompletion) {
|
||||
return symbolAllowedAsType;
|
||||
}
|
||||
}
|
||||
}
|
||||
// expressions are value space (which includes the value namespaces)
|
||||
@@ -83792,7 +83893,7 @@ var ts;
|
||||
function isContextTokenValueLocation(contextToken) {
|
||||
return contextToken &&
|
||||
contextToken.kind === 103 /* TypeOfKeyword */ &&
|
||||
contextToken.parent.kind === 164 /* TypeQuery */;
|
||||
(contextToken.parent.kind === 164 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent));
|
||||
}
|
||||
function isContextTokenTypeLocation(contextToken) {
|
||||
if (contextToken) {
|
||||
@@ -90968,6 +91069,10 @@ var ts;
|
||||
(function (SymbolDisplay) {
|
||||
// TODO(drosen): use contextual SemanticMeaning.
|
||||
function getSymbolKind(typeChecker, symbol, location) {
|
||||
var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
|
||||
if (result !== "" /* unknown */) {
|
||||
return result;
|
||||
}
|
||||
var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol);
|
||||
if (flags & 32 /* Class */) {
|
||||
return ts.getDeclarationOfKind(symbol, 203 /* ClassExpression */) ?
|
||||
@@ -90981,17 +91086,14 @@ var ts;
|
||||
return "interface" /* interfaceElement */;
|
||||
if (flags & 262144 /* TypeParameter */)
|
||||
return "type parameter" /* typeParameterElement */;
|
||||
var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
|
||||
if (result === "" /* unknown */) {
|
||||
if (flags & 262144 /* TypeParameter */)
|
||||
return "type parameter" /* typeParameterElement */;
|
||||
if (flags & 8 /* EnumMember */)
|
||||
return "enum member" /* enumMemberElement */;
|
||||
if (flags & 2097152 /* Alias */)
|
||||
return "alias" /* alias */;
|
||||
if (flags & 1536 /* Module */)
|
||||
return "module" /* moduleElement */;
|
||||
}
|
||||
if (flags & 262144 /* TypeParameter */)
|
||||
return "type parameter" /* typeParameterElement */;
|
||||
if (flags & 8 /* EnumMember */)
|
||||
return "enum member" /* enumMemberElement */;
|
||||
if (flags & 2097152 /* Alias */)
|
||||
return "alias" /* alias */;
|
||||
if (flags & 1536 /* Module */)
|
||||
return "module" /* moduleElement */;
|
||||
return result;
|
||||
}
|
||||
SymbolDisplay.getSymbolKind = getSymbolKind;
|
||||
|
||||
+120
-18
@@ -77087,7 +77087,7 @@ var ts;
|
||||
}
|
||||
if (options.emitDeclarationOnly) {
|
||||
if (!options.declaration) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declarations");
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declaration");
|
||||
}
|
||||
if (options.noEmit) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit");
|
||||
@@ -82539,6 +82539,102 @@ var ts;
|
||||
return ts.isTemplateLiteralKind(token.kind) && position > token.getStart(sourceFile);
|
||||
}
|
||||
ts.isInTemplateString = isInTemplateString;
|
||||
function findPrecedingMatchingToken(token, matchingTokenKind, sourceFile) {
|
||||
var tokenKind = token.kind;
|
||||
var remainingMatchingTokens = 0;
|
||||
while (true) {
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
if (!token) {
|
||||
return undefined;
|
||||
}
|
||||
if (token.kind === matchingTokenKind) {
|
||||
if (remainingMatchingTokens === 0) {
|
||||
return token;
|
||||
}
|
||||
remainingMatchingTokens--;
|
||||
}
|
||||
else if (token.kind === tokenKind) {
|
||||
remainingMatchingTokens++;
|
||||
}
|
||||
}
|
||||
}
|
||||
ts.findPrecedingMatchingToken = findPrecedingMatchingToken;
|
||||
function isPossiblyTypeArgumentPosition(token, sourceFile) {
|
||||
// This function determines if the node could be type argument position
|
||||
// Since during editing, when type argument list is not complete,
|
||||
// the tree could be of any shape depending on the tokens parsed before current node,
|
||||
// scanning of the previous identifier followed by "<" before current node would give us better result
|
||||
// Note that we also balance out the already provided type arguments, arrays, object literals while doing so
|
||||
var remainingLessThanTokens = 0;
|
||||
while (token) {
|
||||
switch (token.kind) {
|
||||
case 27 /* LessThanToken */:
|
||||
// Found the beginning of the generic argument expression
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
var tokenIsIdentifier = token && ts.isIdentifier(token);
|
||||
if (!remainingLessThanTokens || !tokenIsIdentifier) {
|
||||
return tokenIsIdentifier;
|
||||
}
|
||||
remainingLessThanTokens--;
|
||||
break;
|
||||
case 47 /* GreaterThanGreaterThanGreaterThanToken */:
|
||||
remainingLessThanTokens = +3;
|
||||
break;
|
||||
case 46 /* GreaterThanGreaterThanToken */:
|
||||
remainingLessThanTokens = +2;
|
||||
break;
|
||||
case 29 /* GreaterThanToken */:
|
||||
remainingLessThanTokens++;
|
||||
break;
|
||||
case 18 /* CloseBraceToken */:
|
||||
// This can be object type, skip untill we find the matching open brace token
|
||||
// Skip untill the matching open brace token
|
||||
token = findPrecedingMatchingToken(token, 17 /* OpenBraceToken */, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
case 20 /* CloseParenToken */:
|
||||
// This can be object type, skip untill we find the matching open brace token
|
||||
// Skip untill the matching open brace token
|
||||
token = findPrecedingMatchingToken(token, 19 /* OpenParenToken */, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
case 22 /* CloseBracketToken */:
|
||||
// This can be object type, skip untill we find the matching open brace token
|
||||
// Skip untill the matching open brace token
|
||||
token = findPrecedingMatchingToken(token, 21 /* OpenBracketToken */, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
// Valid tokens in a type name. Skip.
|
||||
case 26 /* CommaToken */:
|
||||
case 36 /* EqualsGreaterThanToken */:
|
||||
case 71 /* Identifier */:
|
||||
case 9 /* StringLiteral */:
|
||||
case 8 /* NumericLiteral */:
|
||||
case 101 /* TrueKeyword */:
|
||||
case 86 /* FalseKeyword */:
|
||||
case 103 /* TypeOfKeyword */:
|
||||
case 85 /* ExtendsKeyword */:
|
||||
case 128 /* KeyOfKeyword */:
|
||||
case 23 /* DotToken */:
|
||||
case 49 /* BarToken */:
|
||||
case 55 /* QuestionToken */:
|
||||
case 56 /* ColonToken */:
|
||||
break;
|
||||
default:
|
||||
if (ts.isTypeNode(token)) {
|
||||
break;
|
||||
}
|
||||
// Invalid token in type
|
||||
return false;
|
||||
}
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
ts.isPossiblyTypeArgumentPosition = isPossiblyTypeArgumentPosition;
|
||||
/**
|
||||
* Returns true if the cursor at position in sourceFile is within a comment.
|
||||
*
|
||||
@@ -85168,6 +85264,7 @@ var ts;
|
||||
// Since this is qualified name check its a type node location
|
||||
var isTypeLocation = insideJsDocTagTypeExpression || ts.isPartOfTypeNode(node.parent);
|
||||
var isRhsOfImportDeclaration = ts.isInRightSideOfInternalImportEqualsDeclaration(node);
|
||||
var allowTypeOrValue = isRhsOfImportDeclaration || (!isTypeLocation && ts.isPossiblyTypeArgumentPosition(contextToken, sourceFile));
|
||||
if (ts.isEntityName(node)) {
|
||||
var symbol = typeChecker.getSymbolAtLocation(node);
|
||||
if (symbol) {
|
||||
@@ -85177,7 +85274,7 @@ var ts;
|
||||
var exportedSymbols = ts.Debug.assertEachDefined(typeChecker.getExportsOfModule(symbol), "getExportsOfModule() should all be defined");
|
||||
var isValidValueAccess_1 = function (symbol) { return typeChecker.isValidPropertyAccess((node.parent), symbol.name); };
|
||||
var isValidTypeAccess_1 = function (symbol) { return symbolCanBeReferencedAtTypeLocation(symbol); };
|
||||
var isValidAccess = isRhsOfImportDeclaration ?
|
||||
var isValidAccess = allowTypeOrValue ?
|
||||
// Any kind is allowed when dotting off namespace in internal import equals declaration
|
||||
function (symbol) { return isValidTypeAccess_1(symbol) || isValidValueAccess_1(symbol); } :
|
||||
isTypeLocation ? isValidTypeAccess_1 : isValidValueAccess_1;
|
||||
@@ -85327,8 +85424,9 @@ var ts;
|
||||
}
|
||||
}
|
||||
function filterGlobalCompletion(symbols) {
|
||||
var isTypeCompletion = insideJsDocTagTypeExpression || !isContextTokenValueLocation(contextToken) && (ts.isPartOfTypeNode(location) || isContextTokenTypeLocation(contextToken));
|
||||
if (isTypeCompletion)
|
||||
var isTypeOnlyCompletion = insideJsDocTagTypeExpression || !isContextTokenValueLocation(contextToken) && (ts.isPartOfTypeNode(location) || isContextTokenTypeLocation(contextToken));
|
||||
var allowTypes = isTypeOnlyCompletion || !isContextTokenValueLocation(contextToken) && ts.isPossiblyTypeArgumentPosition(contextToken, sourceFile);
|
||||
if (isTypeOnlyCompletion)
|
||||
keywordFilters = 4 /* TypeKeywords */;
|
||||
ts.filterMutate(symbols, function (symbol) {
|
||||
if (!ts.isSourceFile(location)) {
|
||||
@@ -85341,9 +85439,12 @@ var ts;
|
||||
if (ts.isInRightSideOfInternalImportEqualsDeclaration(location)) {
|
||||
return !!(symbol.flags & 1920 /* Namespace */);
|
||||
}
|
||||
if (isTypeCompletion) {
|
||||
if (allowTypes) {
|
||||
// Its a type, but you can reach it by namespace.type as well
|
||||
return symbolCanBeReferencedAtTypeLocation(symbol);
|
||||
var symbolAllowedAsType = symbolCanBeReferencedAtTypeLocation(symbol);
|
||||
if (symbolAllowedAsType || isTypeOnlyCompletion) {
|
||||
return symbolAllowedAsType;
|
||||
}
|
||||
}
|
||||
}
|
||||
// expressions are value space (which includes the value namespaces)
|
||||
@@ -85353,7 +85454,7 @@ var ts;
|
||||
function isContextTokenValueLocation(contextToken) {
|
||||
return contextToken &&
|
||||
contextToken.kind === 103 /* TypeOfKeyword */ &&
|
||||
contextToken.parent.kind === 164 /* TypeQuery */;
|
||||
(contextToken.parent.kind === 164 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent));
|
||||
}
|
||||
function isContextTokenTypeLocation(contextToken) {
|
||||
if (contextToken) {
|
||||
@@ -92529,6 +92630,10 @@ var ts;
|
||||
(function (SymbolDisplay) {
|
||||
// TODO(drosen): use contextual SemanticMeaning.
|
||||
function getSymbolKind(typeChecker, symbol, location) {
|
||||
var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
|
||||
if (result !== "" /* unknown */) {
|
||||
return result;
|
||||
}
|
||||
var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol);
|
||||
if (flags & 32 /* Class */) {
|
||||
return ts.getDeclarationOfKind(symbol, 203 /* ClassExpression */) ?
|
||||
@@ -92542,17 +92647,14 @@ var ts;
|
||||
return "interface" /* interfaceElement */;
|
||||
if (flags & 262144 /* TypeParameter */)
|
||||
return "type parameter" /* typeParameterElement */;
|
||||
var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
|
||||
if (result === "" /* unknown */) {
|
||||
if (flags & 262144 /* TypeParameter */)
|
||||
return "type parameter" /* typeParameterElement */;
|
||||
if (flags & 8 /* EnumMember */)
|
||||
return "enum member" /* enumMemberElement */;
|
||||
if (flags & 2097152 /* Alias */)
|
||||
return "alias" /* alias */;
|
||||
if (flags & 1536 /* Module */)
|
||||
return "module" /* moduleElement */;
|
||||
}
|
||||
if (flags & 262144 /* TypeParameter */)
|
||||
return "type parameter" /* typeParameterElement */;
|
||||
if (flags & 8 /* EnumMember */)
|
||||
return "enum member" /* enumMemberElement */;
|
||||
if (flags & 2097152 /* Alias */)
|
||||
return "alias" /* alias */;
|
||||
if (flags & 1536 /* Module */)
|
||||
return "module" /* moduleElement */;
|
||||
return result;
|
||||
}
|
||||
SymbolDisplay.getSymbolKind = getSymbolKind;
|
||||
|
||||
+120
-18
@@ -77087,7 +77087,7 @@ var ts;
|
||||
}
|
||||
if (options.emitDeclarationOnly) {
|
||||
if (!options.declaration) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declarations");
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDeclarationOnly", "declaration");
|
||||
}
|
||||
if (options.noEmit) {
|
||||
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit");
|
||||
@@ -82539,6 +82539,102 @@ var ts;
|
||||
return ts.isTemplateLiteralKind(token.kind) && position > token.getStart(sourceFile);
|
||||
}
|
||||
ts.isInTemplateString = isInTemplateString;
|
||||
function findPrecedingMatchingToken(token, matchingTokenKind, sourceFile) {
|
||||
var tokenKind = token.kind;
|
||||
var remainingMatchingTokens = 0;
|
||||
while (true) {
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
if (!token) {
|
||||
return undefined;
|
||||
}
|
||||
if (token.kind === matchingTokenKind) {
|
||||
if (remainingMatchingTokens === 0) {
|
||||
return token;
|
||||
}
|
||||
remainingMatchingTokens--;
|
||||
}
|
||||
else if (token.kind === tokenKind) {
|
||||
remainingMatchingTokens++;
|
||||
}
|
||||
}
|
||||
}
|
||||
ts.findPrecedingMatchingToken = findPrecedingMatchingToken;
|
||||
function isPossiblyTypeArgumentPosition(token, sourceFile) {
|
||||
// This function determines if the node could be type argument position
|
||||
// Since during editing, when type argument list is not complete,
|
||||
// the tree could be of any shape depending on the tokens parsed before current node,
|
||||
// scanning of the previous identifier followed by "<" before current node would give us better result
|
||||
// Note that we also balance out the already provided type arguments, arrays, object literals while doing so
|
||||
var remainingLessThanTokens = 0;
|
||||
while (token) {
|
||||
switch (token.kind) {
|
||||
case 27 /* LessThanToken */:
|
||||
// Found the beginning of the generic argument expression
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
var tokenIsIdentifier = token && ts.isIdentifier(token);
|
||||
if (!remainingLessThanTokens || !tokenIsIdentifier) {
|
||||
return tokenIsIdentifier;
|
||||
}
|
||||
remainingLessThanTokens--;
|
||||
break;
|
||||
case 47 /* GreaterThanGreaterThanGreaterThanToken */:
|
||||
remainingLessThanTokens = +3;
|
||||
break;
|
||||
case 46 /* GreaterThanGreaterThanToken */:
|
||||
remainingLessThanTokens = +2;
|
||||
break;
|
||||
case 29 /* GreaterThanToken */:
|
||||
remainingLessThanTokens++;
|
||||
break;
|
||||
case 18 /* CloseBraceToken */:
|
||||
// This can be object type, skip untill we find the matching open brace token
|
||||
// Skip untill the matching open brace token
|
||||
token = findPrecedingMatchingToken(token, 17 /* OpenBraceToken */, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
case 20 /* CloseParenToken */:
|
||||
// This can be object type, skip untill we find the matching open brace token
|
||||
// Skip untill the matching open brace token
|
||||
token = findPrecedingMatchingToken(token, 19 /* OpenParenToken */, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
case 22 /* CloseBracketToken */:
|
||||
// This can be object type, skip untill we find the matching open brace token
|
||||
// Skip untill the matching open brace token
|
||||
token = findPrecedingMatchingToken(token, 21 /* OpenBracketToken */, sourceFile);
|
||||
if (!token)
|
||||
return false;
|
||||
break;
|
||||
// Valid tokens in a type name. Skip.
|
||||
case 26 /* CommaToken */:
|
||||
case 36 /* EqualsGreaterThanToken */:
|
||||
case 71 /* Identifier */:
|
||||
case 9 /* StringLiteral */:
|
||||
case 8 /* NumericLiteral */:
|
||||
case 101 /* TrueKeyword */:
|
||||
case 86 /* FalseKeyword */:
|
||||
case 103 /* TypeOfKeyword */:
|
||||
case 85 /* ExtendsKeyword */:
|
||||
case 128 /* KeyOfKeyword */:
|
||||
case 23 /* DotToken */:
|
||||
case 49 /* BarToken */:
|
||||
case 55 /* QuestionToken */:
|
||||
case 56 /* ColonToken */:
|
||||
break;
|
||||
default:
|
||||
if (ts.isTypeNode(token)) {
|
||||
break;
|
||||
}
|
||||
// Invalid token in type
|
||||
return false;
|
||||
}
|
||||
token = findPrecedingToken(token.getFullStart(), sourceFile);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
ts.isPossiblyTypeArgumentPosition = isPossiblyTypeArgumentPosition;
|
||||
/**
|
||||
* Returns true if the cursor at position in sourceFile is within a comment.
|
||||
*
|
||||
@@ -85168,6 +85264,7 @@ var ts;
|
||||
// Since this is qualified name check its a type node location
|
||||
var isTypeLocation = insideJsDocTagTypeExpression || ts.isPartOfTypeNode(node.parent);
|
||||
var isRhsOfImportDeclaration = ts.isInRightSideOfInternalImportEqualsDeclaration(node);
|
||||
var allowTypeOrValue = isRhsOfImportDeclaration || (!isTypeLocation && ts.isPossiblyTypeArgumentPosition(contextToken, sourceFile));
|
||||
if (ts.isEntityName(node)) {
|
||||
var symbol = typeChecker.getSymbolAtLocation(node);
|
||||
if (symbol) {
|
||||
@@ -85177,7 +85274,7 @@ var ts;
|
||||
var exportedSymbols = ts.Debug.assertEachDefined(typeChecker.getExportsOfModule(symbol), "getExportsOfModule() should all be defined");
|
||||
var isValidValueAccess_1 = function (symbol) { return typeChecker.isValidPropertyAccess((node.parent), symbol.name); };
|
||||
var isValidTypeAccess_1 = function (symbol) { return symbolCanBeReferencedAtTypeLocation(symbol); };
|
||||
var isValidAccess = isRhsOfImportDeclaration ?
|
||||
var isValidAccess = allowTypeOrValue ?
|
||||
// Any kind is allowed when dotting off namespace in internal import equals declaration
|
||||
function (symbol) { return isValidTypeAccess_1(symbol) || isValidValueAccess_1(symbol); } :
|
||||
isTypeLocation ? isValidTypeAccess_1 : isValidValueAccess_1;
|
||||
@@ -85327,8 +85424,9 @@ var ts;
|
||||
}
|
||||
}
|
||||
function filterGlobalCompletion(symbols) {
|
||||
var isTypeCompletion = insideJsDocTagTypeExpression || !isContextTokenValueLocation(contextToken) && (ts.isPartOfTypeNode(location) || isContextTokenTypeLocation(contextToken));
|
||||
if (isTypeCompletion)
|
||||
var isTypeOnlyCompletion = insideJsDocTagTypeExpression || !isContextTokenValueLocation(contextToken) && (ts.isPartOfTypeNode(location) || isContextTokenTypeLocation(contextToken));
|
||||
var allowTypes = isTypeOnlyCompletion || !isContextTokenValueLocation(contextToken) && ts.isPossiblyTypeArgumentPosition(contextToken, sourceFile);
|
||||
if (isTypeOnlyCompletion)
|
||||
keywordFilters = 4 /* TypeKeywords */;
|
||||
ts.filterMutate(symbols, function (symbol) {
|
||||
if (!ts.isSourceFile(location)) {
|
||||
@@ -85341,9 +85439,12 @@ var ts;
|
||||
if (ts.isInRightSideOfInternalImportEqualsDeclaration(location)) {
|
||||
return !!(symbol.flags & 1920 /* Namespace */);
|
||||
}
|
||||
if (isTypeCompletion) {
|
||||
if (allowTypes) {
|
||||
// Its a type, but you can reach it by namespace.type as well
|
||||
return symbolCanBeReferencedAtTypeLocation(symbol);
|
||||
var symbolAllowedAsType = symbolCanBeReferencedAtTypeLocation(symbol);
|
||||
if (symbolAllowedAsType || isTypeOnlyCompletion) {
|
||||
return symbolAllowedAsType;
|
||||
}
|
||||
}
|
||||
}
|
||||
// expressions are value space (which includes the value namespaces)
|
||||
@@ -85353,7 +85454,7 @@ var ts;
|
||||
function isContextTokenValueLocation(contextToken) {
|
||||
return contextToken &&
|
||||
contextToken.kind === 103 /* TypeOfKeyword */ &&
|
||||
contextToken.parent.kind === 164 /* TypeQuery */;
|
||||
(contextToken.parent.kind === 164 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent));
|
||||
}
|
||||
function isContextTokenTypeLocation(contextToken) {
|
||||
if (contextToken) {
|
||||
@@ -92529,6 +92630,10 @@ var ts;
|
||||
(function (SymbolDisplay) {
|
||||
// TODO(drosen): use contextual SemanticMeaning.
|
||||
function getSymbolKind(typeChecker, symbol, location) {
|
||||
var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
|
||||
if (result !== "" /* unknown */) {
|
||||
return result;
|
||||
}
|
||||
var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol);
|
||||
if (flags & 32 /* Class */) {
|
||||
return ts.getDeclarationOfKind(symbol, 203 /* ClassExpression */) ?
|
||||
@@ -92542,17 +92647,14 @@ var ts;
|
||||
return "interface" /* interfaceElement */;
|
||||
if (flags & 262144 /* TypeParameter */)
|
||||
return "type parameter" /* typeParameterElement */;
|
||||
var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
|
||||
if (result === "" /* unknown */) {
|
||||
if (flags & 262144 /* TypeParameter */)
|
||||
return "type parameter" /* typeParameterElement */;
|
||||
if (flags & 8 /* EnumMember */)
|
||||
return "enum member" /* enumMemberElement */;
|
||||
if (flags & 2097152 /* Alias */)
|
||||
return "alias" /* alias */;
|
||||
if (flags & 1536 /* Module */)
|
||||
return "module" /* moduleElement */;
|
||||
}
|
||||
if (flags & 262144 /* TypeParameter */)
|
||||
return "type parameter" /* typeParameterElement */;
|
||||
if (flags & 8 /* EnumMember */)
|
||||
return "enum member" /* enumMemberElement */;
|
||||
if (flags & 2097152 /* Alias */)
|
||||
return "alias" /* alias */;
|
||||
if (flags & 1536 /* Module */)
|
||||
return "module" /* moduleElement */;
|
||||
return result;
|
||||
}
|
||||
SymbolDisplay.getSymbolKind = getSymbolKind;
|
||||
|
||||
Reference in New Issue
Block a user