@artel/artc 0.6.25210 → 0.6.25212
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/build/Cli.js +3 -3
- package/build/api/Api.js +26 -14
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +774 -526
- package/build/{chunk-3ORG7RXI.js → chunk-DYVLHEXS.js} +11186 -10587
- package/build/{chunk-CAQIZO5K.js → chunk-MRSDFDBD.js} +9 -8
- package/build/{chunk-HRQLSHI7.js → chunk-XGS3PSIF.js} +3 -3
- package/build/types/analysis/AnalyzedTranslationPackage.d.ts +3 -1
- package/build/types/analysis/Analyzer.d.ts +33 -16
- package/build/types/analysis/BaseExpressionMeaning.d.ts +8 -2
- package/build/types/analysis/CallExpressionMeaning.d.ts +6 -1
- package/build/types/analysis/DiagnosticCollector.d.ts +1 -0
- package/build/types/analysis/EntityLocalizationHelper.d.ts +3 -1
- package/build/types/analysis/IdentifierExpressionMeaning.d.ts +12 -4
- package/build/types/analysis/Lookup.d.ts +6 -2
- package/build/types/analysis/PrefixUnaryOperatorResolver.d.ts +1 -3
- package/build/types/analysis/PropertyAccessExpressionMeaning.d.ts +13 -4
- package/build/types/analysis/Scope.d.ts +17 -3
- package/build/types/analysis/SemanticContext.d.ts +18 -1
- package/build/types/analysis/SemanticContextBuilder.d.ts +2 -0
- package/build/types/analysis/StatementBlockScopeBuilder.d.ts +1 -0
- package/build/types/analysis/TypeMemberLookup.d.ts +3 -3
- package/build/types/analysis/UserDefinableBinaryOperatorResolver.d.ts +2 -2
- package/build/types/common/Cached.d.ts +1 -0
- package/build/types/common/Debug.d.ts +3 -0
- package/build/types/common/LocalizationHelper.d.ts +5 -2
- package/build/types/common/Logger.d.ts +1 -1
- package/build/types/common/Uri.d.ts +11 -2
- package/build/types/common/index.d.ts +0 -1
- package/build/types/diagnostic/DiagnosticCode.d.ts +126 -115
- package/build/types/emitter/EmitterGeneratedDeclarationKind.d.ts +7 -0
- package/build/types/emitter/Entities.d.ts +1 -0
- package/build/types/emitter/EntityMap.d.ts +1 -2
- package/build/types/emitter/IrBuilder.d.ts +2 -0
- package/build/types/emitter/StatementTransformationResult.d.ts +3 -1
- package/build/types/emitter/Transformer.d.ts +1 -1
- package/build/types/emitter/ir/Nodes.d.ts +38 -34
- package/build/types/entities/EntityHiding.d.ts +2 -2
- package/build/types/entities/OperatorEntity.d.ts +43 -0
- package/build/types/entities/OperatorKind.d.ts +56 -0
- package/build/types/entities/StructuredTypeEntity.d.ts +3 -3
- package/build/types/entities/TypeEntityMembers.d.ts +9 -14
- package/build/types/entities/TypeExtensionEntity.d.ts +0 -1
- package/build/types/entities/VariableEntity.d.ts +3 -13
- package/build/types/entities/index.d.ts +10 -12
- package/build/types/parser/Parser.d.ts +2 -2
- package/build/types/project/FileSystemTree.d.ts +1 -1
- package/build/types/services/CompletionService.d.ts +26 -20
- package/build/types/services/DisplayService.d.ts +47 -55
- package/build/types/services/NodeSemanticInfo.d.ts +6 -11
- package/build/types/services/SemanticTokensService.d.ts +4 -3
- package/build/types/tree/KeywordKind.d.ts +25 -29
- package/build/types/tree/NodeKind.d.ts +89 -92
- package/build/types/tree/OperatorKind.d.ts +40 -0
- package/build/types/tree/green/Nodes.d.ts +52 -85
- package/build/types/tree/green/SyntaxToCode.d.ts +1 -0
- package/build/types/tree/green/Token.d.ts +7 -5
- package/build/types/tree/green/index.d.ts +1 -0
- package/build/types/tree/index.d.ts +0 -3
- package/build/types/tree/red/Nodes.d.ts +44 -78
- package/build/types/tree/red/Token.d.ts +3 -2
- package/build/types/tree/red/index.d.ts +4 -0
- package/build/types/ts-interop/Entities.d.ts +0 -4
- package/build/types/types/TypeMembers.d.ts +20 -29
- package/package.json +6 -6
- package/build/types/analysis/BuiltInOperators.d.ts +0 -14
- package/build/types/common/UriTree.d.ts +0 -41
- package/build/types/emitter/IntrinsicEntities.d.ts +0 -118
- package/build/types/entities/BinaryOperatorEntity.d.ts +0 -51
- package/build/types/entities/UnaryOperatorEntity.d.ts +0 -36
- /package/build/types/emitter/{error-boundary.d.ts → ErrorBoundary.d.ts} +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
import {
|
2
2
|
Compiler
|
3
|
-
} from "./chunk-
|
3
|
+
} from "./chunk-XGS3PSIF.js";
|
4
4
|
import {
|
5
5
|
ArtelVersion,
|
6
6
|
Cached,
|
@@ -14,7 +14,7 @@ import {
|
|
14
14
|
__async,
|
15
15
|
performanceMeasurementStageNames,
|
16
16
|
performanceMeasurementStages
|
17
|
-
} from "./chunk-
|
17
|
+
} from "./chunk-DYVLHEXS.js";
|
18
18
|
|
19
19
|
// source/executor/FileSystemUri.ts
|
20
20
|
import { platform } from "os";
|
@@ -22,13 +22,14 @@ import { normalize, sep } from "path";
|
|
22
22
|
var FileSystemUri = class {
|
23
23
|
static pathToUri(path) {
|
24
24
|
path = normalize(path);
|
25
|
-
|
26
|
-
|
25
|
+
const segments = path.split(sep);
|
26
|
+
if (segments.length > 0 && segments[0].length === 0) {
|
27
|
+
segments.shift();
|
27
28
|
}
|
28
|
-
if (
|
29
|
-
|
29
|
+
if (segments.length > 0 && segments[segments.length - 1].length === 0) {
|
30
|
+
segments.pop();
|
30
31
|
}
|
31
|
-
return new Uri("file",
|
32
|
+
return new Uri("file", "", segments);
|
32
33
|
}
|
33
34
|
static toPath(uri) {
|
34
35
|
if (platform() === "win32") {
|
@@ -215,7 +216,7 @@ var NodeCompiler = class {
|
|
215
216
|
const standardLibraryUri = yield this.findStandardTypeScriptLibrary(nodeModulesSearchPaths, defaultTsLibraryPath);
|
216
217
|
if (standardLibraryUri === void 0) {
|
217
218
|
const diagnostic = new Diagnostic(DiagnosticData.withCode(
|
218
|
-
|
219
|
+
148 /* CanNotFindTsLibDirectoryBaseSearchPaths0 */,
|
219
220
|
[nodeModulesSearchPaths.map((p) => `'${p}'`).join(", ")]
|
220
221
|
), void 0);
|
221
222
|
diagnostics?.addDiagnostic(diagnostic);
|
@@ -10,7 +10,7 @@ import {
|
|
10
10
|
WellKnownDeclarationsLoadError,
|
11
11
|
__async,
|
12
12
|
createTsInteropInputsForCompilation
|
13
|
-
} from "./chunk-
|
13
|
+
} from "./chunk-DYVLHEXS.js";
|
14
14
|
|
15
15
|
// source/executor/Compiler.ts
|
16
16
|
var Compiler = class {
|
@@ -68,7 +68,7 @@ var Compiler = class {
|
|
68
68
|
return __async(this, null, function* () {
|
69
69
|
if (analyzer.compilation.mainPackage === void 0) {
|
70
70
|
_diagnostics?.addDiagnostic(new Diagnostic(DiagnosticData.withCode(
|
71
|
-
|
71
|
+
151 /* ProgramWithoutMainPackageCanNotBeCompiled */
|
72
72
|
), void 0));
|
73
73
|
return void 0;
|
74
74
|
}
|
@@ -82,7 +82,7 @@ var Compiler = class {
|
|
82
82
|
return __async(this, null, function* () {
|
83
83
|
if (analyzer.compilation.mainPackage === void 0) {
|
84
84
|
_diagnostics?.addDiagnostic(new Diagnostic(DiagnosticData.withCode(
|
85
|
-
|
85
|
+
151 /* ProgramWithoutMainPackageCanNotBeCompiled */
|
86
86
|
), void 0));
|
87
87
|
return "";
|
88
88
|
}
|
@@ -5,7 +5,7 @@ import { NamedMember, NamedPackageMemberEntity } from '../entities/PackageMember
|
|
5
5
|
import { NamedTypeMemberEntity } from '../entities/TypeEntityMembers.js';
|
6
6
|
import { PackageVariableEntity, ParameterVariableEntity, TypeVariableEntity } from '../entities/VariableEntity.js';
|
7
7
|
import { VariantEntity } from '../entities/VariantEntity.js';
|
8
|
-
import { AliasTypeEntity, ConstructorEntity, DestructorEntity, IndexerEntity, MethodEntity, MethodTypeEntity, PackageMethodEntity, PackageMethodTypeEntity, PackageTypeEntity, PackageVariantTypeEntity, StructuredTypeEntity, TypeMethodEntity, TypeParameterEntity, VariantTypeEntity } from '../entities/index.js';
|
8
|
+
import { AliasTypeEntity, ConstructorEntity, DestructorEntity, IndexerEntity, MethodEntity, MethodTypeEntity, OperatorEntity, PackageMethodEntity, PackageMethodTypeEntity, PackageTypeEntity, PackageVariantTypeEntity, StructuredTypeEntity, TypeMethodEntity, TypeParameterEntity, VariantTypeEntity } from '../entities/index.js';
|
9
9
|
import { PackageName, TranslationPackage } from '../project/index.js';
|
10
10
|
import * as tree from '../tree/index.js';
|
11
11
|
import { Analyzer } from './Analyzer.js';
|
@@ -19,6 +19,7 @@ export declare class AnalyzedTranslationPackage {
|
|
19
19
|
private readonly _translatedTypeEntityMembers;
|
20
20
|
private readonly _translatedVariants;
|
21
21
|
private readonly _methodSignatureTranslations;
|
22
|
+
private readonly _operatorSignatureTranslations;
|
22
23
|
private readonly _methodTypeSignatureTranslations;
|
23
24
|
private readonly _constructorSignatureTranslations;
|
24
25
|
private readonly _indexerSignatureTranslations;
|
@@ -43,6 +44,7 @@ export declare class AnalyzedTranslationPackage {
|
|
43
44
|
getConstructorTranslationTargets(node: tree.ConstructorTranslation): GetMultipleTranslationTargetsResult<ConstructorEntity>;
|
44
45
|
getIndexerTranslationTargets(node: tree.IndexerTranslation): GetMultipleTranslationTargetsResult<IndexerEntity>;
|
45
46
|
getMethodSignature(entity: MethodEntity): LocalizedSubprogramSignature.Translated | undefined;
|
47
|
+
getOperatorSignature(entity: OperatorEntity): LocalizedSubprogramSignature.Translated | undefined;
|
46
48
|
getPackageMethodSignature(entity: PackageMethodEntity): LocalizedSubprogramSignature.Translated | undefined;
|
47
49
|
getTypeMethodSignature(entity: TypeMethodEntity): LocalizedSubprogramSignature.Translated | undefined;
|
48
50
|
getMethodTypeSignature(entity: MethodTypeEntity): LocalizedSubprogramSignature.Translated | undefined;
|
@@ -3,10 +3,11 @@ import { CancellationToken, Name, PackageLocale, Range, SearchName, WithDiagnost
|
|
3
3
|
import { Diagnostic, DiagnosticAcceptor, DiagnosticLocation } from '../diagnostic/Diagnostic.js';
|
4
4
|
import { DiagnosticCode } from '../diagnostic/DiagnosticCode.js';
|
5
5
|
import { DiagnosticFlags, DiagnosticKind } from '../diagnostic/DiagnosticData.js';
|
6
|
+
import { BinaryOperatorKind } from '../entities/OperatorKind.js';
|
6
7
|
import * as packageMembers from '../entities/PackageMembers.js';
|
7
8
|
import { NamedTypeMemberEntity } from '../entities/TypeEntityMembers.js';
|
8
9
|
import * as entities from '../entities/index.js';
|
9
|
-
import { AliasTypeEntity, AnonymousMethodTypeEntity, AnonymousStructuredTypeEntity, AnonymousVariantTypeEntity,
|
10
|
+
import { AliasTypeEntity, AnonymousMethodTypeEntity, AnonymousStructuredTypeEntity, AnonymousVariantTypeEntity, ConstructorEntity, DereferenceOperatorEntity, DestructorEntity, GetterEntity, IEntityHidingMatcher, LocalVariableEntity, MethodEntity, MethodTypeEntity, NamedTypeEntity, NestedMethodEntity, OperatorEntity, PackageAliasEntity, PackageEntity, PackageMethodEntity, PackageMethodTypeEntity, PackageStructuredTypeEntity, PackageVariableEntity, PackageVariantTypeEntity, SetterEntity, SourceIndexerEntity, StructuredTypeEntity, TypeEntity, TypeExtensionEntity, TypeMemberEntityContainer, TypeMethodEntity, TypeParameterEntity, TypeVariableEntity, VariableEntity, VariantEntity, VariantTypeEntity } from '../entities/index.js';
|
10
11
|
import { ReservedIdentifierKind } from '../parser/ReservedIdentifierDictionary.js';
|
11
12
|
import * as project from '../project/index.js';
|
12
13
|
import { PackageName, PlatformKind, SourcePackage } from '../project/index.js';
|
@@ -18,7 +19,6 @@ import { AccessedMethod } from './AccessedMethod.js';
|
|
18
19
|
import { AnalyzedTranslationPackage } from './AnalyzedTranslationPackage.js';
|
19
20
|
import * as autotypeCallExpressionMeaning from './AutotypeCallExpressionMeaning.js';
|
20
21
|
import * as baseExpressionMeaning from './BaseExpressionMeaning.js';
|
21
|
-
import { BuiltInOperators } from './BuiltInOperators.js';
|
22
22
|
import { CallArgumentToParameterMatchResult, MatchResultValueParameter } from './CallArgumentToParameterMatchResult.js';
|
23
23
|
import * as callExpressionMeaning from './CallExpressionMeaning.js';
|
24
24
|
import * as constructorOverloadResolver from './ConstructorOverloadResolver.js';
|
@@ -69,7 +69,6 @@ export declare class Analyzer {
|
|
69
69
|
readonly tags: Tags;
|
70
70
|
readonly linkedEntity: LinkedEntity;
|
71
71
|
readonly owningPlainObjectModificationCheck: OwningPlainObjectModificationCheck;
|
72
|
-
readonly builtInOperators: BuiltInOperators;
|
73
72
|
readonly packageImports: PackageImports;
|
74
73
|
private readonly _tsInteropInputs;
|
75
74
|
private readonly _targetType;
|
@@ -153,16 +152,17 @@ export declare class Analyzer {
|
|
153
152
|
packageAlias: PackageAliasEntity;
|
154
153
|
} | undefined;
|
155
154
|
checkExpressionDenotesMethod(expression: tree.Expression): ExpressionDenotesMethodCheckResult | undefined;
|
155
|
+
checkExpressionDenotesOperator(expression: tree.Expression): ExpressionDenotesOperatorCheckResult | undefined;
|
156
156
|
checkExpressionDenotesPackageNameSegment(expression: tree.Expression): {
|
157
157
|
packageTreeNode: PackageNameTreeNode;
|
158
158
|
} | undefined;
|
159
159
|
checkMethodBodyUsesYieldStatement(node: tree.StatementBlock): boolean;
|
160
160
|
enumerateAspects(type: types.Type): Iterable<types.StructuredType>;
|
161
161
|
checkTypeIsBasedOnAspect(type: types.Type, aspectEntity: StructuredTypeEntity): boolean;
|
162
|
-
resolvePrefixUnaryExpressionOperator(node: tree.PrefixUnaryExpression): WithDiagnostics<FoundAnonymousDeclaration<types.
|
163
|
-
resolveNotExpressionOperator(node: tree.NotExpression): WithDiagnostics<FoundAnonymousDeclaration<types.
|
164
|
-
resolveBinaryExpressionUserDefinableOperator(node: tree.BinaryExpression, operatorKind: BinaryOperatorKind): WithDiagnostics<FoundAnonymousDeclaration<types.
|
165
|
-
resolveCompoundAssignmentStatementOperator(node: tree.AssignmentStatement, operatorKind: BinaryOperatorKind): WithDiagnostics<FoundAnonymousDeclaration<types.
|
162
|
+
resolvePrefixUnaryExpressionOperator(node: tree.PrefixUnaryExpression): WithDiagnostics<FoundAnonymousDeclaration<types.Operator>>;
|
163
|
+
resolveNotExpressionOperator(node: tree.NotExpression): WithDiagnostics<FoundAnonymousDeclaration<types.Operator>>;
|
164
|
+
resolveBinaryExpressionUserDefinableOperator(node: tree.BinaryExpression, operatorKind: BinaryOperatorKind): WithDiagnostics<FoundAnonymousDeclaration<types.Operator>>;
|
165
|
+
resolveCompoundAssignmentStatementOperator(node: tree.AssignmentStatement, operatorKind: BinaryOperatorKind): WithDiagnostics<FoundAnonymousDeclaration<types.Operator>>;
|
166
166
|
classifyBinaryExpressionOperator(operator: tree.BinaryExpressionOperator): BinaryExpressionOperatorClassificationResult;
|
167
167
|
getBinaryOperatorKindIfCompoundAssignmentOperator(operator: tree.AssignmentStatementOperator): BinaryOperatorKind | undefined;
|
168
168
|
getPackageEntities(): readonly PackageEntity[];
|
@@ -248,6 +248,10 @@ export type BinaryExpressionOperatorClassificationResult = {
|
|
248
248
|
operatorKind: BinaryOperatorKind;
|
249
249
|
} | {
|
250
250
|
kind: 'question-question';
|
251
|
+
} | {
|
252
|
+
kind: 'equals';
|
253
|
+
} | {
|
254
|
+
kind: 'not-equals';
|
251
255
|
};
|
252
256
|
export declare const enum SyntacticAccessKind {
|
253
257
|
Get = 0,
|
@@ -264,6 +268,7 @@ declare class Type {
|
|
264
268
|
ofExpression(node: tree.Expression, targetTypeHint?: TargetTypeHint): types.Type;
|
265
269
|
ofTypeSpecifier(node: tree.TypeSpecifier): types.Type;
|
266
270
|
ofAccessedMethod(accessedMethod: WithLocalization<AccessedMethod>): types.Type;
|
271
|
+
ofAccessedOperator(operator: WithLocalization<types.Operator>): types.Type;
|
267
272
|
ofMethodBlockLiteral(node: tree.MethodBlockLiteral, targetTypeHint?: TargetTypeHint): types.MethodType;
|
268
273
|
ofMethodLiteral(node: tree.MethodLiteral, targetTypeHint?: TargetTypeHint): types.MethodType;
|
269
274
|
private ofArrayLiteral;
|
@@ -276,7 +281,6 @@ declare class Type {
|
|
276
281
|
private ofIndexedAccessExpression;
|
277
282
|
private ofInvalidExpression;
|
278
283
|
private ofIsExpression;
|
279
|
-
private ofUnobservableExpression;
|
280
284
|
private ofNotExpression;
|
281
285
|
private ofParenthesizedExpression;
|
282
286
|
private ofPrefixUnaryExpression;
|
@@ -285,7 +289,6 @@ declare class Type {
|
|
285
289
|
private ofDereferenceExpression;
|
286
290
|
private ofWhenTernaryExpression;
|
287
291
|
private ofTextTemplateLiteral;
|
288
|
-
private ofTransactionalExpression;
|
289
292
|
private ofIdentifierExpression;
|
290
293
|
private ofTokenExpression;
|
291
294
|
private ofKeywordExpression;
|
@@ -313,6 +316,7 @@ declare class ReturnType {
|
|
313
316
|
ofNestedMethodDeclaration(node: tree.NestedMethodDeclaration): types.Type;
|
314
317
|
ofMethodLiteral(node: tree.MethodLiteral): types.Type;
|
315
318
|
ofTypeMethodDeclaration(node: tree.TypeMethodDeclaration): types.Type;
|
319
|
+
ofOperatorDeclaration(node: tree.OperatorDeclaration): types.Type;
|
316
320
|
}
|
317
321
|
declare class Entity {
|
318
322
|
private readonly _analyzer;
|
@@ -335,6 +339,7 @@ declare class Entity {
|
|
335
339
|
private readonly _typeMethodEntities;
|
336
340
|
private readonly _nestedMethodEntities;
|
337
341
|
private readonly _constructorEntities;
|
342
|
+
private readonly _operatorEntities;
|
338
343
|
private readonly _destructorEntities;
|
339
344
|
private readonly _getterEntities;
|
340
345
|
private readonly _setterEntities;
|
@@ -368,6 +373,7 @@ declare class Entity {
|
|
368
373
|
ofPackageMethodDeclaration(node: tree.PackageMethodDeclaration): PackageMethodEntity;
|
369
374
|
ofTypeMethodDeclaration(node: tree.TypeMethodDeclaration): TypeMethodEntity;
|
370
375
|
ofNestedMethodDeclaration(node: tree.NestedMethodDeclaration): NestedMethodEntity;
|
376
|
+
ofOperatorDeclaration(node: tree.OperatorDeclaration): OperatorEntity;
|
371
377
|
ofPackageVariableGetterDeclaration(node: tree.PackageVariableGetterDeclaration): GetterEntity;
|
372
378
|
ofTypeVariableGetterDeclaration(node: tree.TypeVariableGetterDeclaration): GetterEntity;
|
373
379
|
ofTypeIndexedGetterDeclaration(node: tree.TypeIndexedGetterDeclaration): GetterEntity;
|
@@ -398,6 +404,7 @@ declare class ResultLocalVariableEntity {
|
|
398
404
|
ofNestedMethodDeclaration(node: tree.NestedMethodDeclaration): LocalVariableEntity;
|
399
405
|
ofMethodLiteral(node: tree.MethodLiteral): LocalVariableEntity;
|
400
406
|
ofMethodBlockLiteral(node: tree.MethodBlockLiteral): LocalVariableEntity;
|
407
|
+
ofOperatorDeclaration(node: tree.OperatorDeclaration): LocalVariableEntity;
|
401
408
|
ofPackageVariableGetterDeclaration(node: tree.PackageVariableGetterDeclaration): LocalVariableEntity;
|
402
409
|
ofTypeVariableGetterDeclaration(node: tree.TypeVariableGetterDeclaration): LocalVariableEntity;
|
403
410
|
ofTypeIndexedGetterDeclaration(node: tree.TypeIndexedGetterDeclaration): LocalVariableEntity;
|
@@ -419,6 +426,7 @@ declare class ParamLocalVariableEntity {
|
|
419
426
|
ofNestedMethodDeclaration(node: tree.NestedMethodDeclaration): VariableEntity | undefined;
|
420
427
|
ofMethodLiteral(node: tree.MethodLiteral): VariableEntity | undefined;
|
421
428
|
ofMethodBlockLiteral(node: tree.MethodBlockLiteral): VariableEntity | undefined;
|
429
|
+
ofOperatorDeclaration(node: tree.OperatorDeclaration): VariableEntity | undefined;
|
422
430
|
ofTypeConstructorDeclaration(node: tree.TypeConstructorDeclaration): VariableEntity | undefined;
|
423
431
|
private createParamLocalVariableEntity;
|
424
432
|
private createAccessorParamLocalVariableEntity;
|
@@ -439,6 +447,7 @@ declare class DestructuredParameterLocalVariableEntities {
|
|
439
447
|
ofMethodBlockLiteral(node: tree.MethodBlockLiteral): readonly VariableEntity[];
|
440
448
|
ofPackageMethodDeclaration(node: tree.PackageMethodDeclaration): readonly VariableEntity[];
|
441
449
|
ofTypeMethodDeclaration(node: tree.TypeMethodDeclaration): readonly VariableEntity[];
|
450
|
+
ofOperatorDeclaration(node: tree.OperatorDeclaration): readonly VariableEntity[];
|
442
451
|
ofMethodLiteral(node: tree.MethodLiteral): readonly VariableEntity[];
|
443
452
|
ofNestedMethodDeclaration(node: tree.NestedMethodDeclaration): readonly VariableEntity[];
|
444
453
|
ofTypeConstructorDeclaration(node: tree.TypeConstructorDeclaration): readonly VariableEntity[];
|
@@ -466,6 +475,7 @@ declare class Scope {
|
|
466
475
|
private readonly _variantTypeDeclarationBodyScopes;
|
467
476
|
private readonly _aliasTypeDeclarationBodyScopes;
|
468
477
|
private readonly _packageAliasTypeDeclarationTypeParametersScopes;
|
478
|
+
private readonly _operatorDeclarationScopes;
|
469
479
|
private readonly _structuredTypeConstructorDeclarationScopes;
|
470
480
|
private readonly _structuredTypeDestructorDeclarationScopes;
|
471
481
|
private readonly _typeIndexedAccessorDeclarationParametersScopes;
|
@@ -492,6 +502,7 @@ declare class Scope {
|
|
492
502
|
ofVariantTypeDeclarationBody(node: tree.VariantTypeDeclarationBody): scope.IScope;
|
493
503
|
ofAliasTypeDeclarationBody(node: tree.AliasTypeDeclarationBody): scope.IScope;
|
494
504
|
ofPackageAliasTypeDeclarationTypeParameters(node: tree.PackageAliasTypeDeclaration): scope.IScope;
|
505
|
+
ofOperatorDeclaration(node: tree.OperatorDeclaration): scope.IScope;
|
495
506
|
ofTypeConstructorDeclaration(node: tree.TypeConstructorDeclaration): scope.IScope;
|
496
507
|
ofTypeDestructorDeclaration(node: tree.TypeDestructorDeclaration): scope.IScope;
|
497
508
|
ofTypeIndexedAccessorDeclarationParameters(node: TypeIndexedAccessorDeclaration): scope.IScope;
|
@@ -511,13 +522,16 @@ declare class OverriddenMember {
|
|
511
522
|
constructor(_analyzer: Analyzer);
|
512
523
|
getOverriddenMethod(method: TypeMethodEntity): types.Method | undefined;
|
513
524
|
getTheMostBaseOverriddenMethod(method: TypeMethodEntity): types.Method | undefined;
|
525
|
+
getOverriddenOperator(operator: OperatorEntity): types.Operator | undefined;
|
514
526
|
getOverriddenVariable(variable: entities.TypeVariableEntity): types.Variable | undefined;
|
515
527
|
getTheMostBaseOverriddenVariable(variable: entities.TypeVariableEntity): types.Variable | undefined;
|
516
528
|
checkMethodOverridesMethod(methodInDerivedType: TypeMethodEntity, methodInBaseType: types.Method): boolean;
|
517
529
|
checkVariableOverridesVariable(variableInDerivedType: entities.TypeVariableEntity, variableInBaseType: types.Variable): boolean;
|
530
|
+
checkOperatorOverridesOperator(operatorInDerivedType: OperatorEntity, operatorInBaseType: types.Operator): boolean;
|
518
531
|
private findOverriddenVariableInType;
|
519
532
|
private findOverriddenMethodInType;
|
520
533
|
private methodSignatureTypesAreEqual;
|
534
|
+
private findOverriddenOperatorInType;
|
521
535
|
}
|
522
536
|
declare class Tags {
|
523
537
|
readonly _analyzer: Analyzer;
|
@@ -538,11 +552,10 @@ declare class LinkedEntity {
|
|
538
552
|
ofPackageMethod(entity: PackageMethodEntity, platform: PlatformKind): PackageMethodEntity | undefined;
|
539
553
|
ofTypeVariable(entity: entities.TypeVariableEntity, platform: PlatformKind): entities.TypeVariableEntity | undefined;
|
540
554
|
ofTypeMethod(entity: entities.TypeMethodEntity, platform: PlatformKind): entities.TypeMethodEntity | undefined;
|
555
|
+
ofOperator(entity: entities.OperatorEntity, platform: PlatformKind): entities.OperatorEntity | undefined;
|
541
556
|
ofConstructor(entity: entities.ConstructorEntity, platform: PlatformKind): entities.ConstructorEntity | undefined;
|
542
557
|
ofIndexer(entity: entities.IndexerEntity, platform: PlatformKind): entities.IndexerEntity | undefined;
|
543
558
|
ofDereferenceOperator(entity: entities.DereferenceOperatorEntity, platform: PlatformKind): entities.DereferenceOperatorEntity | undefined;
|
544
|
-
ofUnaryOperator(entity: entities.UnaryOperatorEntity, platform: PlatformKind): entities.UnaryOperatorEntity | undefined;
|
545
|
-
ofBinaryOperator(entity: entities.BinaryOperatorEntity, platform: PlatformKind): entities.BinaryOperatorEntity | undefined;
|
546
559
|
ofVariant(entity: VariantEntity, platform: PlatformKind): VariantEntity | undefined;
|
547
560
|
ofGetter(entity: entities.GetterEntity, platform: PlatformKind): entities.GetterEntity | undefined;
|
548
561
|
ofSetter(entity: entities.SetterEntity, platform: PlatformKind): entities.SetterEntity | undefined;
|
@@ -582,11 +595,10 @@ export declare class LinkedTypeWithMembers {
|
|
582
595
|
constructor(analyzer: Analyzer, externalType: entities.TypeEntityWithMembers, targetType: entities.TypeEntityWithMembers, linkedPackage: LinkedMultiPlatformPackage);
|
583
596
|
getLinkedVariable(entity: entities.TypeVariableEntity): entities.TypeVariableEntity | undefined;
|
584
597
|
getLinkedMethod(entity: entities.TypeMethodEntity): entities.TypeMethodEntity | undefined;
|
598
|
+
getLinkedOperator(entity: entities.OperatorEntity): entities.OperatorEntity | undefined;
|
585
599
|
getLinkedConstructor(entity: entities.ConstructorEntity): entities.ConstructorEntity | undefined;
|
586
600
|
getLinkedIndexer(entity: entities.IndexerEntity): entities.IndexerEntity | undefined;
|
587
601
|
getLinkedDereferenceOperator(entity: entities.DereferenceOperatorEntity): entities.DereferenceOperatorEntity | undefined;
|
588
|
-
getLinkedUnaryOperator(entity: UnaryOperatorEntity): UnaryOperatorEntity | undefined;
|
589
|
-
getLinkedBinaryOperator(entity: BinaryOperatorEntity): BinaryOperatorEntity | undefined;
|
590
602
|
getLinkedVariant(entity: VariantEntity): VariantEntity | undefined;
|
591
603
|
}
|
592
604
|
declare class OwningPlainObjectModificationCheck {
|
@@ -635,6 +647,12 @@ export declare class ExpressionDenotesMethodCheckResult {
|
|
635
647
|
get singleSuitableMethod(): WithLocalization<AccessedMethod> | undefined;
|
636
648
|
constructor(candidates: readonly WithLocalization<AccessedMethod>[], suitableMethods: readonly WithLocalization<AccessedMethod>[]);
|
637
649
|
}
|
650
|
+
export declare class ExpressionDenotesOperatorCheckResult {
|
651
|
+
readonly candidates: readonly WithLocalization<types.Operator>[];
|
652
|
+
readonly suitableOperators: readonly WithLocalization<types.Operator>[];
|
653
|
+
get singleSuitableOperator(): WithLocalization<types.Operator> | undefined;
|
654
|
+
constructor(candidates: readonly WithLocalization<types.Operator>[], suitableOperators: readonly WithLocalization<types.Operator>[]);
|
655
|
+
}
|
638
656
|
export declare class NonHiddenEntityHidingMatcher implements IEntityHidingMatcher {
|
639
657
|
matches(_hiding: entities.EntityHidingLevel): boolean;
|
640
658
|
}
|
@@ -669,13 +687,12 @@ declare namespace AvailablePackage {
|
|
669
687
|
export declare class DeclaredTypeMemberEntities {
|
670
688
|
readonly variables: readonly TypeVariableEntity[];
|
671
689
|
readonly methods: readonly TypeMethodEntity[];
|
690
|
+
readonly operators: readonly OperatorEntity[];
|
672
691
|
readonly constructors: readonly ConstructorEntity[];
|
673
692
|
readonly destructors: readonly DestructorEntity[];
|
674
693
|
readonly indexers: readonly SourceIndexerEntity[];
|
675
694
|
readonly dereferenceOperators: readonly DereferenceOperatorEntity[];
|
676
|
-
readonly unaryOperators: readonly UnaryOperatorEntity[];
|
677
|
-
readonly binaryOperators: readonly BinaryOperatorEntity[];
|
678
695
|
get namedMembers(): NamedTypeMemberEntity[];
|
679
|
-
constructor(variables: readonly TypeVariableEntity[], methods: readonly TypeMethodEntity[], constructors: readonly ConstructorEntity[], destructors: readonly DestructorEntity[], indexers: readonly SourceIndexerEntity[], dereferenceOperators: readonly DereferenceOperatorEntity[]
|
696
|
+
constructor(variables: readonly TypeVariableEntity[], methods: readonly TypeMethodEntity[], operators: readonly OperatorEntity[], constructors: readonly ConstructorEntity[], destructors: readonly DestructorEntity[], indexers: readonly SourceIndexerEntity[], dereferenceOperators: readonly DereferenceOperatorEntity[]);
|
680
697
|
}
|
681
698
|
export {};
|
@@ -17,12 +17,13 @@ export declare class Resolver {
|
|
17
17
|
private resolveBaseConstructorOrMethodAccess;
|
18
18
|
private resolveBaseConstructorAccess;
|
19
19
|
private resolveBaseMethodAccess;
|
20
|
+
private resolveBaseOperatorAccess;
|
20
21
|
private resolveBaseObjectAccess;
|
21
22
|
private invalidContextMeaning;
|
22
23
|
private getBaseOrAliasedType;
|
23
|
-
private
|
24
|
+
private getContainingTypeMemberDeclaration;
|
24
25
|
}
|
25
|
-
export type Meaning = Meaning_baseObjectAccess | Meaning_baseConstructorAccess | Meaning_overriddenMethodAccess | Meaning_unresolved;
|
26
|
+
export type Meaning = Meaning_baseObjectAccess | Meaning_baseConstructorAccess | Meaning_overriddenMethodAccess | Meaning_overriddenOperatorAccess | Meaning_unresolved;
|
26
27
|
declare class Meaning_baseObjectAccess {
|
27
28
|
readonly type: types.Type;
|
28
29
|
readonly kind = "base-object-access";
|
@@ -55,6 +56,11 @@ declare class Meaning_overriddenMethodAccess {
|
|
55
56
|
readonly kind = "overridden-method-access";
|
56
57
|
constructor(method: types.Method);
|
57
58
|
}
|
59
|
+
declare class Meaning_overriddenOperatorAccess {
|
60
|
+
readonly operator: types.Operator;
|
61
|
+
readonly kind = "overridden-operator-access";
|
62
|
+
constructor(operator: types.Operator);
|
63
|
+
}
|
58
64
|
declare class Meaning_unresolved {
|
59
65
|
readonly diagnostic: Diagnostic;
|
60
66
|
readonly kind = "unresolved";
|
@@ -14,12 +14,17 @@ export declare class Resolver {
|
|
14
14
|
private resolveConstructorCallExpressionMeaning;
|
15
15
|
private getNodeForDiagnostics;
|
16
16
|
}
|
17
|
-
export type Meaning = Meaning_methodCall | Meaning_objectMethodCall | Meaning_constructorCall | Meaning_unresolved;
|
17
|
+
export type Meaning = Meaning_methodCall | Meaning_operatorCall | Meaning_objectMethodCall | Meaning_constructorCall | Meaning_unresolved;
|
18
18
|
declare class Meaning_methodCall {
|
19
19
|
readonly method: WithLocalization<AccessedMethod>;
|
20
20
|
readonly kind = "method-call";
|
21
21
|
constructor(method: WithLocalization<AccessedMethod>);
|
22
22
|
}
|
23
|
+
declare class Meaning_operatorCall {
|
24
|
+
readonly operator: WithLocalization<types.Operator>;
|
25
|
+
readonly kind = "operator-call";
|
26
|
+
constructor(operator: WithLocalization<types.Operator>);
|
27
|
+
}
|
23
28
|
declare class Meaning_objectMethodCall {
|
24
29
|
readonly type: types.MethodType;
|
25
30
|
readonly kind = "object-method-call";
|
@@ -28,6 +28,7 @@ export declare class DiagnosticCollector {
|
|
28
28
|
private checkPackageVariableGetterDeclaration;
|
29
29
|
private checkPackageVariableSetterDeclaration;
|
30
30
|
private checkTypeMethodDeclaration;
|
31
|
+
private checkOperatorDeclaration;
|
31
32
|
private checkTypeVariableGetterDeclaration;
|
32
33
|
private checkTypeVariableSetterDeclaration;
|
33
34
|
private checkTypeIndexedGetterDeclaration;
|
@@ -1,15 +1,17 @@
|
|
1
1
|
import { LocalizedSubprogramSignature, LocalizedTypeHeader, TypeEntityWithHeaderLocalization } from '../analysis/AnalyzedTranslationPackage.js';
|
2
2
|
import { Analyzer } from '../analysis/index.js';
|
3
3
|
import { Localization } from '../analysis/Localization.js';
|
4
|
-
import { ConstructorEntity, DestructorEntity, IndexerEntity, MethodEntity, MethodTypeEntity } from '../entities/index.js';
|
4
|
+
import { ConstructorEntity, DestructorEntity, IndexerEntity, MethodEntity, MethodTypeEntity, OperatorEntity } from '../entities/index.js';
|
5
5
|
import * as types from '../types/index.js';
|
6
6
|
export declare class EntityLocalizationHelper {
|
7
7
|
static getLocalizedMethodSignature(method: MethodEntity, localization: Localization): LocalizedSubprogramSignature;
|
8
|
+
static getLocalizedOperatorSignature(operator: OperatorEntity, localization: Localization): LocalizedSubprogramSignature;
|
8
9
|
static getLocalizedMethodTypeSignature(methodType: MethodTypeEntity, localization: Localization): LocalizedSubprogramSignature;
|
9
10
|
static getLocalizedConstructorSignature(constructor: ConstructorEntity, localization: Localization): LocalizedSubprogramSignature;
|
10
11
|
static getLocalizedDestructorSignature(destructor: DestructorEntity, localization: Localization): LocalizedSubprogramSignature;
|
11
12
|
static getLocalizedIndexerSignature(indexer: IndexerEntity, localization: Localization): LocalizedSubprogramSignature;
|
12
13
|
static getLocalizedTypeHeader(type: TypeEntityWithHeaderLocalization, localization: Localization): LocalizedTypeHeader;
|
13
14
|
static getLocalizedSignatureTypeOfMethod(analyzer: Analyzer, method: MethodEntity, signatureType: types.MethodType, localization: Localization): types.MethodType;
|
15
|
+
static getLocalizedSignatureTypeOfOperator(analyzer: Analyzer, operator: OperatorEntity, signatureType: types.MethodType, localization: Localization): types.MethodType;
|
14
16
|
static localizeMethodType(analyzer: Analyzer, type: types.MethodType, localizedSignature: LocalizedSubprogramSignature): types.MethodType;
|
15
17
|
}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { Name } from '../common/index.js';
|
2
2
|
import { Diagnostic } from '../diagnostic/Diagnostic.js';
|
3
3
|
import { NamedTypeEntity, PackageAliasEntity, VariableEntity, VariantEntity } from '../entities/index.js';
|
4
|
-
import
|
4
|
+
import * as tree from '../tree/index.js';
|
5
5
|
import * as types from '../types/index.js';
|
6
6
|
import { AccessedMethod } from './AccessedMethod.js';
|
7
|
-
import { FoundNamedDeclaration } from './FoundDeclaration.js';
|
7
|
+
import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
|
8
8
|
import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
|
9
9
|
import * as scope from './Scope.js';
|
10
10
|
import * as variableAccess from './VariableAccess.js';
|
@@ -15,8 +15,9 @@ export declare class Resolver {
|
|
15
15
|
private readonly _node;
|
16
16
|
private readonly _targetTypeHint;
|
17
17
|
private get semanticContext();
|
18
|
-
constructor(analyzer: Analyzer, node: IdentifierExpression, targetTypeHint: TargetTypeHint | undefined);
|
18
|
+
constructor(analyzer: Analyzer, node: tree.IdentifierExpression, targetTypeHint: TargetTypeHint | undefined);
|
19
19
|
resolve(): ResolutionResult;
|
20
|
+
private resolveOperatorAccessMeaning;
|
20
21
|
private resolveMethodOverload;
|
21
22
|
private createAccessedMethod;
|
22
23
|
private convertSyntacticAccessKind;
|
@@ -26,7 +27,7 @@ export declare class ResolutionResult {
|
|
26
27
|
readonly diagnostic?: Diagnostic | undefined;
|
27
28
|
constructor(meaning: Meaning, diagnostic?: Diagnostic | undefined);
|
28
29
|
}
|
29
|
-
export type Meaning = Meaning_variantAccess | Meaning_variableAccess | Meaning_methodAccess | Meaning_packageNameSegmentAccess | Meaning_packageAliasAccess | Meaning_typeAccess | Meaning_mixedAmbiguousAccess | Meaning_unresolved;
|
30
|
+
export type Meaning = Meaning_variantAccess | Meaning_variableAccess | Meaning_methodAccess | Meaning_operatorAccess | Meaning_packageNameSegmentAccess | Meaning_packageAliasAccess | Meaning_typeAccess | Meaning_mixedAmbiguousAccess | Meaning_unresolved;
|
30
31
|
declare class Meaning_variantAccess {
|
31
32
|
readonly variant: FoundNamedDeclaration<VariantEntity>;
|
32
33
|
readonly kind = "variant-access";
|
@@ -45,6 +46,13 @@ declare class Meaning_methodAccess {
|
|
45
46
|
get singleSuitableMethod(): FoundNamedDeclaration<AccessedMethod> | undefined;
|
46
47
|
constructor(candidates: readonly FoundNamedDeclaration<AccessedMethod>[], suitableMethods: readonly FoundNamedDeclaration<AccessedMethod>[]);
|
47
48
|
}
|
49
|
+
declare class Meaning_operatorAccess {
|
50
|
+
readonly candidates: readonly FoundAnonymousDeclaration<types.Operator>[];
|
51
|
+
readonly suitableOperators: readonly FoundAnonymousDeclaration<types.Operator>[];
|
52
|
+
readonly kind = "operator-access";
|
53
|
+
get singleSuitableOperator(): FoundAnonymousDeclaration<types.Operator> | undefined;
|
54
|
+
constructor(candidates: readonly FoundAnonymousDeclaration<types.Operator>[], suitableOperators: readonly FoundAnonymousDeclaration<types.Operator>[]);
|
55
|
+
}
|
48
56
|
declare class Meaning_packageAliasAccess {
|
49
57
|
readonly packageAlias: PackageAliasEntity;
|
50
58
|
readonly kind = "package-alias-access";
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Query, SearchName } from '../common/index.js';
|
2
|
-
import { IEntityHidingMatcher, TypeEntity, TypeExtensionEntity } from '../entities/index.js';
|
3
|
-
import
|
2
|
+
import { IEntityHidingMatcher, OperatorKind, TypeEntity, TypeExtensionEntity } from '../entities/index.js';
|
3
|
+
import * as types from '../types/index.js';
|
4
|
+
import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
|
4
5
|
import { IScope, NamedDeclaration, TypeOrContainerWithTypes } from './Scope.js';
|
5
6
|
export declare class Lookup {
|
6
7
|
private readonly _scopeChain;
|
@@ -10,9 +11,12 @@ export declare class Lookup {
|
|
10
11
|
getTypesOrContainersWithTypesByName(name: SearchName): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
11
12
|
getNamedDeclarations(): FoundNamedDeclaration<NamedDeclaration>[];
|
12
13
|
getNamedDeclarationsByName(name: SearchName): FoundNamedDeclaration<NamedDeclaration>[];
|
14
|
+
getOperators(): FoundAnonymousDeclaration<types.Operator>[];
|
15
|
+
getOperatorsByKind(kind: OperatorKind): FoundAnonymousDeclaration<types.Operator>[];
|
13
16
|
getTypeExtensionsByType(type: TypeEntity): TypeExtensionEntity[];
|
14
17
|
private checkTypeOrPackageDeclarationShadowing;
|
15
18
|
private checkNamedDeclarationShadowing;
|
19
|
+
private checkOperatorShadowing;
|
16
20
|
}
|
17
21
|
export declare class ScopeChain {
|
18
22
|
private readonly _entry;
|
@@ -17,11 +17,9 @@ import { Analyzer } from './index.js';
|
|
17
17
|
export declare class PrefixUnaryOperatorResolver {
|
18
18
|
private readonly _analyzer;
|
19
19
|
private readonly _node;
|
20
|
-
private readonly _operandType;
|
21
|
-
private get operandType();
|
22
20
|
private get operand();
|
23
21
|
private get operatorNode();
|
24
22
|
private get operatorKind();
|
25
23
|
constructor(_analyzer: Analyzer, _node: PrefixUnaryExpression | NotExpression);
|
26
|
-
resolve(): WithDiagnostics<FoundAnonymousDeclaration<types.
|
24
|
+
resolve(): WithDiagnostics<FoundAnonymousDeclaration<types.Operator>>;
|
27
25
|
}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { Diagnostic } from '../diagnostic/Diagnostic.js';
|
2
2
|
import { PackageTypeEntity, PackageVariableEntity, VariantEntity } from '../entities/index.js';
|
3
|
-
import
|
3
|
+
import * as tree from '../tree/index.js';
|
4
4
|
import * as types from '../types/index.js';
|
5
5
|
import { AccessedMethod } from './AccessedMethod.js';
|
6
|
-
import { FoundNamedDeclaration } from './FoundDeclaration.js';
|
6
|
+
import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
|
7
7
|
import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
|
8
8
|
import * as variableAccess from './VariableAccess.js';
|
9
9
|
import { Analyzer, TargetTypeHint } from './index.js';
|
@@ -13,9 +13,10 @@ export declare class Resolver {
|
|
13
13
|
private readonly _node;
|
14
14
|
private readonly _targetTypeHint;
|
15
15
|
private get propertySearchName();
|
16
|
+
private get isOperatorName();
|
16
17
|
private get semanticContext();
|
17
18
|
private get receiver();
|
18
|
-
constructor(analyzer: Analyzer, node: PropertyAccessExpression, targetTypeHint: TargetTypeHint | undefined);
|
19
|
+
constructor(analyzer: Analyzer, node: tree.PropertyAccessExpression, targetTypeHint: TargetTypeHint | undefined);
|
19
20
|
resolve(): ResolutionResult;
|
20
21
|
private resolvePackageAliasMemberAccessMeaning;
|
21
22
|
private resolvePackageMemberAccessMeaning;
|
@@ -24,6 +25,7 @@ export declare class Resolver {
|
|
24
25
|
private resolveStaticMemberOrVariantAccessMeaning;
|
25
26
|
private createAccessedMethodFromTypeMember;
|
26
27
|
private resolveInstanceMemberAccessMeaning;
|
28
|
+
private resolveOperatorAccessMeaning;
|
27
29
|
private resolveMethodOverload;
|
28
30
|
private convertSyntacticAccessKind;
|
29
31
|
}
|
@@ -32,7 +34,7 @@ export declare class ResolutionResult {
|
|
32
34
|
readonly diagnostic?: Diagnostic | undefined;
|
33
35
|
constructor(meaning: Meaning, diagnostic?: Diagnostic | undefined);
|
34
36
|
}
|
35
|
-
export type Meaning = Meaning_packageVariableAccess | Meaning_packageMethodAccess | Meaning_packageTypeAccess | Meaning_packageNameSegmentAccess | Meaning_variantAccess | Meaning_staticVariableAccess | Meaning_staticMethodAccess | Meaning_instanceVariableAccess | Meaning_instanceMethodAccess | Meaning_unresolved;
|
37
|
+
export type Meaning = Meaning_packageVariableAccess | Meaning_packageMethodAccess | Meaning_packageTypeAccess | Meaning_packageNameSegmentAccess | Meaning_variantAccess | Meaning_staticVariableAccess | Meaning_staticMethodAccess | Meaning_instanceVariableAccess | Meaning_instanceMethodAccess | Meaning_operatorAccess | Meaning_unresolved;
|
36
38
|
declare class Meaning_packageVariableAccess {
|
37
39
|
readonly variable: FoundNamedDeclaration<PackageVariableEntity>;
|
38
40
|
readonly access: variableAccess.VariableAccess;
|
@@ -92,6 +94,13 @@ declare class Meaning_instanceMethodAccess {
|
|
92
94
|
get singleSuitableMethod(): FoundNamedDeclaration<AccessedMethod> | undefined;
|
93
95
|
constructor(candidates: readonly FoundNamedDeclaration<AccessedMethod>[], suitableMethods: readonly FoundNamedDeclaration<AccessedMethod>[]);
|
94
96
|
}
|
97
|
+
declare class Meaning_operatorAccess {
|
98
|
+
readonly candidates: readonly FoundAnonymousDeclaration<types.Operator>[];
|
99
|
+
readonly suitableOperators: readonly FoundAnonymousDeclaration<types.Operator>[];
|
100
|
+
readonly kind = "operator-access";
|
101
|
+
get singleSuitableOperator(): FoundAnonymousDeclaration<types.Operator> | undefined;
|
102
|
+
constructor(candidates: readonly FoundAnonymousDeclaration<types.Operator>[], suitableOperators: readonly FoundAnonymousDeclaration<types.Operator>[]);
|
103
|
+
}
|
95
104
|
declare class Meaning_unresolved {
|
96
105
|
readonly kind = "unresolved";
|
97
106
|
}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { Name, PackageLocale, SearchName } from '../common/index.js';
|
2
|
-
import { AliasTypeEntity, EntityHidingLevel, IEntityHidingMatcher, MethodEntity, NamedTypeEntity, PackageAliasEntity, PackageMethodTypeEntity, PackageStructuredTypeEntity, PackageVariantTypeEntity, TypeEntity, TypeExtensionEntity, TypeParameterEntity, VariableEntity, VariantEntity } from '../entities/index.js';
|
2
|
+
import { AliasTypeEntity, EntityHidingLevel, IEntityHidingMatcher, MethodEntity, NamedTypeEntity, OperatorKind, PackageAliasEntity, PackageMethodTypeEntity, PackageStructuredTypeEntity, PackageVariantTypeEntity, TypeEntity, TypeExtensionEntity, TypeParameterEntity, VariableEntity, VariantEntity } from '../entities/index.js';
|
3
3
|
import * as tree from '../tree/index.js';
|
4
4
|
import * as types from '../types/index.js';
|
5
5
|
import { Analyzer } from './Analyzer.js';
|
6
|
-
import { FoundNamedDeclaration } from './FoundDeclaration.js';
|
6
|
+
import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
|
7
7
|
import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
|
8
8
|
import { Lookup } from './Lookup.js';
|
9
9
|
import { TypeMemberLookup } from './TypeMemberLookup.js';
|
@@ -12,6 +12,8 @@ export interface IScope {
|
|
12
12
|
getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
13
13
|
getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
14
14
|
getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
15
|
+
getOperators(hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
16
|
+
getOperatorsByKind(kind: OperatorKind, hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
15
17
|
getTypeExtensionsByType(typeEntity: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
|
16
18
|
}
|
17
19
|
export type TypeOrContainerWithTypes = TypeOrContainerWithTypes_type | TypeOrContainerWithTypes_packageAlias | TypeOrContainerWithTypes_packageNameSegment;
|
@@ -233,6 +235,8 @@ export declare class SourceFileScope implements IScope {
|
|
233
235
|
getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
234
236
|
getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
235
237
|
getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
238
|
+
getOperators(_hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
239
|
+
getOperatorsByKind(_kind: OperatorKind, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
236
240
|
getTypeExtensionsByType(type: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
|
237
241
|
private convertPackageMembersTypeDeclaration;
|
238
242
|
private convertPackageMemberToNamedDeclaration;
|
@@ -256,6 +260,8 @@ export declare class GenericScope implements IScope {
|
|
256
260
|
getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
257
261
|
getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
258
262
|
getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
263
|
+
getOperators(_hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
264
|
+
getOperatorsByKind(_kind: OperatorKind, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
259
265
|
getTypeExtensionsByType(typeEntity: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
|
260
266
|
private checkHiding;
|
261
267
|
}
|
@@ -273,6 +279,8 @@ export declare class ParameterDeclarationsScope implements IScope {
|
|
273
279
|
getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
274
280
|
getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
275
281
|
getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
282
|
+
getOperators(_hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
283
|
+
getOperatorsByKind(_kind: OperatorKind, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
276
284
|
getTypeExtensionsByType(typeEntity: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
|
277
285
|
private checkHiding;
|
278
286
|
}
|
@@ -284,6 +292,8 @@ export declare class StructuredTypeBodyScope implements IScope {
|
|
284
292
|
getTypesOrContainersWithTypesByName(_name: SearchName, _hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
285
293
|
getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
286
294
|
getNamedDeclarationsByName(name: SearchName, hidingMatcher: IEntityHidingMatcher | undefined): FoundNamedDeclaration<NamedDeclaration>[];
|
295
|
+
getOperators(hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
296
|
+
getOperatorsByKind(kind: OperatorKind, hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
287
297
|
getTypeExtensionsByType(_typeEntity: TypeEntity, _hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
|
288
298
|
private convertNamedMember;
|
289
299
|
}
|
@@ -301,9 +311,13 @@ export declare class TypeExtensionBodyScope implements IScope {
|
|
301
311
|
getTypesOrContainersWithTypesByName(_name: SearchName, _hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
302
312
|
getNamedDeclarations(hidingMatcher: IEntityHidingMatcher | undefined): FoundNamedDeclaration<NamedDeclaration>[];
|
303
313
|
getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
|
314
|
+
getOperators(hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
315
|
+
getOperatorsByKind(kind: OperatorKind, hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
|
304
316
|
getTypeExtensionsByType(_typeEntity: TypeEntity, _hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
|
305
|
-
private
|
317
|
+
private convertNamedTypeExtensionMember;
|
318
|
+
private convertTypeExtensionOperator;
|
306
319
|
private convertExtendedTypeMember;
|
320
|
+
private checkOperatorShadowing;
|
307
321
|
private checkNamedDeclarationShadowing;
|
308
322
|
}
|
309
323
|
export {};
|