@artel/artc 0.6.25226 → 0.6.25228
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 +12 -56
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +204 -109
- package/build/{chunk-VRQPLLYS.js → chunk-5GSDYTF6.js} +6405 -5358
- package/build/{chunk-YNR2KYMJ.js → chunk-F5OW64UA.js} +3 -3
- package/build/{chunk-MHPX52MT.js → chunk-FHJJX7JY.js} +3 -3
- package/build/types/analysis/Analyzer.d.ts +32 -71
- package/build/types/analysis/AssignmentChecker.d.ts +11 -0
- package/build/types/analysis/CallExpressionMeaning.d.ts +2 -0
- package/build/types/analysis/DeclarationsUsageCounter.d.ts +8 -3
- package/build/types/analysis/DiagnosticCollector.d.ts +15 -5
- package/build/types/analysis/IdentifierExpressionMeaning.d.ts +6 -6
- package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +3 -3
- package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +9 -9
- package/build/types/analysis/NamedTypeResolver.d.ts +3 -2
- package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +3 -2
- package/build/types/analysis/NodeTypeUtils.d.ts +3 -2
- package/build/types/analysis/PackageMemberNameConflictsValidator.d.ts +24 -0
- package/build/types/analysis/SourceFileMembers.d.ts +6 -1
- package/build/types/analysis/SourcePackageMembersCreator.d.ts +2 -1
- package/build/types/analysis/TagMeaning.d.ts +3 -2
- package/build/types/analysis/TypeInferrer.d.ts +2 -0
- package/build/types/analysis/TypeMemberLookup.d.ts +11 -11
- package/build/types/analysis/TypeNarrower.d.ts +0 -69
- package/build/types/analysis/control-flow/GraphBuilder.d.ts +6 -2
- package/build/types/analysis/control-flow/NarrowableReference.d.ts +73 -0
- package/build/types/analysis/control-flow/Nodes.d.ts +9 -0
- package/build/types/analysis/control-flow/index.d.ts +1 -0
- package/build/types/analysis/semantic-context/Declarations.d.ts +117 -0
- package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +22 -0
- package/build/types/analysis/semantic-context/SemanticContext.d.ts +13 -0
- package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +168 -0
- package/build/types/analysis/semantic-context/SemanticContextBasedEntityHidingMatcher.d.ts +14 -0
- package/build/types/analysis/semantic-context/SemanticContextBuilder.d.ts +84 -0
- package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +45 -0
- package/build/types/analysis/semantic-context/SemanticContextWithParent.d.ts +9 -0
- package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +42 -0
- package/build/types/analysis/semantic-context/SpecialLocalDeclarationsBuilder.d.ts +23 -0
- package/build/types/analysis/semantic-context/SubprogramBodyAndParametersSemanticContext.d.ts +89 -0
- package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +114 -0
- package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +94 -0
- package/build/types/analysis/semantic-context/index.d.ts +10 -0
- package/build/types/api/Api.d.ts +3 -5
- package/build/types/common/Cached.d.ts +1 -0
- package/build/types/common/Errors.d.ts +2 -0
- package/build/types/common/Lazy.d.ts +4 -0
- package/build/types/common/Query.d.ts +2 -1
- package/build/types/common/WithDiagnostics.d.ts +4 -3
- package/build/types/common/index.d.ts +1 -0
- package/build/types/diagnostic/DiagnosticCode.d.ts +89 -68
- package/build/types/emitter/IrBuilder.d.ts +1 -1
- package/build/types/emitter/Transformer.d.ts +1 -1
- package/build/types/entities/FunctionEntity.d.ts +2 -2
- package/build/types/entities/VariableEntity.d.ts +48 -19
- package/build/types/entities/index.d.ts +4 -0
- package/build/types/services/DefinitionService.d.ts +3 -0
- package/build/types/tree/KeywordKind.d.ts +31 -30
- package/build/types/tree/NodeKind.d.ts +1 -1
- package/build/types/tree/green/Nodes.d.ts +33 -29
- package/build/types/tree/red/Nodes.d.ts +25 -24
- package/build/types/types/TypeFactory.d.ts +0 -2
- package/package.json +1 -1
- package/build/types/analysis/Lookup.d.ts +0 -28
- package/build/types/analysis/Scope.d.ts +0 -205
- package/build/types/analysis/SemanticContext.d.ts +0 -367
- package/build/types/analysis/SemanticContextBuilder.d.ts +0 -59
- package/build/types/analysis/StatementBlockScopeBuilder.d.ts +0 -26
@@ -4,7 +4,7 @@ import * as types from '../types/index.js';
|
|
4
4
|
import { Analyzer } from './Analyzer.js';
|
5
5
|
import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
|
6
6
|
import { LocalizationContext } from './LocalizationContext.js';
|
7
|
-
import {
|
7
|
+
import { SemanticContext } from './semantic-context/SemanticContext.js';
|
8
8
|
export declare class TypeMemberLookup {
|
9
9
|
private readonly _analyzer;
|
10
10
|
private readonly _typeOrExtension;
|
@@ -19,13 +19,13 @@ export declare class TypeMemberLookup {
|
|
19
19
|
static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, localizationContext: LocalizationContext | undefined): TypeMemberLookup;
|
20
20
|
static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity, localizationContext: LocalizationContext | undefined): TypeMemberLookup;
|
21
21
|
static ofTypeOrExtension(analyzer: Analyzer, typeOrExtension: TypeOrExtension, localizationContext: LocalizationContext | undefined): TypeMemberLookup;
|
22
|
-
getNamedMembers(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher,
|
23
|
-
getNamedMembersByName(name: SearchName, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher,
|
24
|
-
getOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher,
|
25
|
-
getOperatorsByKind(kind: OperatorKind, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher,
|
26
|
-
getConstructors(hidingMatcher?: IEntityHidingMatcher,
|
27
|
-
getIndexers(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher,
|
28
|
-
getDereferenceOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher,
|
22
|
+
getNamedMembers(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
|
23
|
+
getNamedMembersByName(name: SearchName, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
|
24
|
+
getOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.Operator>[];
|
25
|
+
getOperatorsByKind(kind: OperatorKind, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.Operator>[];
|
26
|
+
getConstructors(hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.Constructor>[];
|
27
|
+
getIndexers(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.Indexer>[];
|
28
|
+
getDereferenceOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.DereferenceOperator>[];
|
29
29
|
private getLocaleOfTypeEntity;
|
30
30
|
}
|
31
31
|
export declare class BoundTypeMemberLookup {
|
@@ -34,9 +34,9 @@ export declare class BoundTypeMemberLookup {
|
|
34
34
|
private readonly _hidingMatcher;
|
35
35
|
private readonly _typeExtensionLookup;
|
36
36
|
private constructor();
|
37
|
-
static ofType(analyzer: Analyzer, type: types.Type, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup:
|
38
|
-
static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup:
|
39
|
-
static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup:
|
37
|
+
static ofType(analyzer: Analyzer, type: types.Type, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: SemanticContext | undefined): BoundTypeMemberLookup;
|
38
|
+
static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: SemanticContext | undefined): BoundTypeMemberLookup;
|
39
|
+
static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: SemanticContext | undefined): BoundTypeMemberLookup;
|
40
40
|
getNamedMembers(): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
|
41
41
|
getNamedMembersByName(name: SearchName): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
|
42
42
|
getOperators(): readonly FoundAnonymousDeclaration<types.Operator>[];
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { LocalVariableEntity, PackageVariableEntity, ParameterVariableEntity } from '../entities/VariableEntity.js';
|
2
1
|
import * as types from '../types/index.js';
|
3
2
|
import { Analyzer } from './Analyzer.js';
|
4
3
|
import * as controlFlow from './control-flow/index.js';
|
@@ -26,72 +25,4 @@ export declare class TypeNarrower {
|
|
26
25
|
private checkIfVariableIsAssignedInLoop;
|
27
26
|
private checkIfVariableIsAssignedAtNode;
|
28
27
|
private isSameReferenceAsNarrowedExpression;
|
29
|
-
private getReferenceAtNodeIfNarrowable;
|
30
|
-
private getReferenceAtNode;
|
31
|
-
private getReferenceAtLocalVariableDeclaration;
|
32
|
-
}
|
33
|
-
export type NarrowableReference = NarrowableReference.LocalVariable | NarrowableReference.PackageVariable | NarrowableReference.ObjectField | NarrowableReference.StaticField | NarrowableReference.ObjectAutoVariable;
|
34
|
-
export declare namespace NarrowableReference {
|
35
|
-
export class LocalVariable implements INarrowableReference {
|
36
|
-
private readonly _analyzer;
|
37
|
-
readonly entity: LocalVariableEntity | ParameterVariableEntity;
|
38
|
-
readonly kind = "local-variable";
|
39
|
-
constructor(_analyzer: Analyzer, entity: LocalVariableEntity | ParameterVariableEntity);
|
40
|
-
equals(other: NarrowableReference): boolean;
|
41
|
-
contains(_other: NarrowableReference): boolean;
|
42
|
-
equalsExpression(expression: controlFlow.NarrowableReferenceExpression): boolean;
|
43
|
-
containsExpression(_expression: controlFlow.NarrowableReferenceExpression): boolean;
|
44
|
-
}
|
45
|
-
export class PackageVariable implements INarrowableReference {
|
46
|
-
private readonly _analyzer;
|
47
|
-
readonly entity: PackageVariableEntity;
|
48
|
-
readonly kind = "package-variable";
|
49
|
-
constructor(_analyzer: Analyzer, entity: PackageVariableEntity);
|
50
|
-
equals(other: NarrowableReference): boolean;
|
51
|
-
contains(_other: NarrowableReference): boolean;
|
52
|
-
equalsExpression(expression: controlFlow.NarrowableReferenceExpression): boolean;
|
53
|
-
containsExpression(_expression: controlFlow.NarrowableReferenceExpression): boolean;
|
54
|
-
}
|
55
|
-
export class ObjectField implements INarrowableReference {
|
56
|
-
private readonly _analyzer;
|
57
|
-
readonly variable: types.Variable;
|
58
|
-
readonly receiver: NarrowableReference;
|
59
|
-
readonly kind = "object-field";
|
60
|
-
constructor(_analyzer: Analyzer, variable: types.Variable, receiver: NarrowableReference);
|
61
|
-
equals(other: NarrowableReference): boolean;
|
62
|
-
contains(other: NarrowableReference): boolean;
|
63
|
-
equalsExpression(expression: controlFlow.NarrowableReferenceExpression): boolean;
|
64
|
-
containsExpression(expression: controlFlow.NarrowableReferenceExpression): boolean;
|
65
|
-
}
|
66
|
-
export class StaticField implements INarrowableReference {
|
67
|
-
private readonly _analyzer;
|
68
|
-
readonly variable: types.Variable;
|
69
|
-
readonly kind = "static-field";
|
70
|
-
constructor(_analyzer: Analyzer, variable: types.Variable);
|
71
|
-
equals(other: NarrowableReference): boolean;
|
72
|
-
contains(_other: NarrowableReference): boolean;
|
73
|
-
equalsExpression(expression: controlFlow.NarrowableReferenceExpression): boolean;
|
74
|
-
containsExpression(_expression: controlFlow.NarrowableReferenceExpression): boolean;
|
75
|
-
}
|
76
|
-
export class ObjectAutoVariable implements INarrowableReference {
|
77
|
-
readonly kind = "object-auto-variable";
|
78
|
-
equals(other: NarrowableReference): boolean;
|
79
|
-
contains(_other: NarrowableReference): boolean;
|
80
|
-
equalsExpression(expression: controlFlow.NarrowableReferenceExpression): boolean;
|
81
|
-
containsExpression(_expression: controlFlow.NarrowableReferenceExpression): boolean;
|
82
|
-
}
|
83
|
-
interface INarrowableReference {
|
84
|
-
equals(other: NarrowableReference): boolean;
|
85
|
-
contains(other: NarrowableReference): boolean;
|
86
|
-
/**
|
87
|
-
* Отличается от метода `equals` тем, что выполняет сравнение лениво. Например, при сравнении с выражением
|
88
|
-
* `а.б` сперва будут сравнены части слева от точки (выражение `а` с `receiver`), и только при равенстве будет
|
89
|
-
* связано и сравнено имя `б`. Если выражение `а` не равно `receiver`, то сразу будет возвращено `false` и
|
90
|
-
* связывание для имени `б` выполняться не будет. Такое поведение необходимо при анализе циклов,
|
91
|
-
* чтобы избежать рекурсии.
|
92
|
-
*/
|
93
|
-
equalsExpression(expression: controlFlow.NarrowableReferenceExpression): boolean;
|
94
|
-
containsExpression(expression: controlFlow.NarrowableReferenceExpression): boolean;
|
95
|
-
}
|
96
|
-
export {};
|
97
28
|
}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import { Diagnostic } from '../../diagnostic/Diagnostic.js';
|
2
2
|
import { SourceFile } from '../../project/SourceFile.js';
|
3
|
+
import { SubprogramDeclarationOrLiteral } from '../NodeTypeUtils.js';
|
3
4
|
import { NarrowableReferenceExpression } from './NarrowableExpression.js';
|
4
5
|
import { Node } from './Nodes.js';
|
5
6
|
export declare class GraphBuilder {
|
6
7
|
private readonly _sourceFile;
|
7
8
|
private readonly _controlFlowNodeByReference;
|
9
|
+
private readonly _controlFlowNodesEndingSubprogram;
|
8
10
|
private readonly _unreachableCodeDiagnostics;
|
9
11
|
private _isInRebuildingFinallyClauseGraphMode;
|
10
12
|
private _currentPredecessor;
|
@@ -12,6 +14,7 @@ export declare class GraphBuilder {
|
|
12
14
|
private _currentBreakLoopTarget;
|
13
15
|
private _currentErrorTarget;
|
14
16
|
private _currentReturnTarget;
|
17
|
+
private _currentRangeWithReportedUnreachableCodeDiagnostic;
|
15
18
|
constructor(sourceFile: SourceFile);
|
16
19
|
build(): GraphBuildResult;
|
17
20
|
private visitNode;
|
@@ -27,7 +30,7 @@ export declare class GraphBuilder {
|
|
27
30
|
private visitReturnStatement;
|
28
31
|
private visitErrorStatement;
|
29
32
|
private visitLocalVariableDeclaration;
|
30
|
-
private
|
33
|
+
private visitConditionalExpression;
|
31
34
|
private visitCondition;
|
32
35
|
private visitBinaryExpression;
|
33
36
|
private visitPrefixUnaryExpressionInCondition;
|
@@ -38,6 +41,7 @@ export declare class GraphBuilder {
|
|
38
41
|
}
|
39
42
|
export declare class GraphBuildResult {
|
40
43
|
readonly controlFlowNodeByReference: ReadonlyMap<NarrowableReferenceExpression, Node>;
|
44
|
+
readonly controlFlowNodesEndingSubprogram: ReadonlyMap<SubprogramDeclarationOrLiteral, Node>;
|
41
45
|
readonly unreachableCodeDiagnostics: readonly Diagnostic[];
|
42
|
-
constructor(controlFlowNodeByReference: ReadonlyMap<NarrowableReferenceExpression, Node>, unreachableCodeDiagnostics: readonly Diagnostic[]);
|
46
|
+
constructor(controlFlowNodeByReference: ReadonlyMap<NarrowableReferenceExpression, Node>, controlFlowNodesEndingSubprogram: ReadonlyMap<SubprogramDeclarationOrLiteral, Node>, unreachableCodeDiagnostics: readonly Diagnostic[]);
|
43
47
|
}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import { LocalVariableEntity, PackageVariableEntity, ParameterVariableEntity } from '../../entities/VariableEntity.js';
|
2
|
+
import * as tree from '../../tree/index.js';
|
3
|
+
import * as types from '../../types/index.js';
|
4
|
+
import { Analyzer } from '../Analyzer.js';
|
5
|
+
import { NarrowableReferenceExpression } from '../control-flow/NarrowableExpression.js';
|
6
|
+
export type NarrowableReference = NarrowableReference.LocalVariable | NarrowableReference.PackageVariable | NarrowableReference.InstanceField | NarrowableReference.StaticField | NarrowableReference.ObjectAutoVariable;
|
7
|
+
export declare namespace NarrowableReference {
|
8
|
+
export class LocalVariable implements INarrowableReference {
|
9
|
+
private readonly _analyzer;
|
10
|
+
readonly entity: LocalVariableEntity | ParameterVariableEntity;
|
11
|
+
readonly kind = "local-variable";
|
12
|
+
constructor(_analyzer: Analyzer, entity: LocalVariableEntity | ParameterVariableEntity);
|
13
|
+
equals(other: NarrowableReference): boolean;
|
14
|
+
contains(_other: NarrowableReference): boolean;
|
15
|
+
equalsExpression(expression: NarrowableReferenceExpression): boolean;
|
16
|
+
containsExpression(_expression: NarrowableReferenceExpression): boolean;
|
17
|
+
}
|
18
|
+
export class PackageVariable implements INarrowableReference {
|
19
|
+
private readonly _analyzer;
|
20
|
+
readonly entity: PackageVariableEntity;
|
21
|
+
readonly kind = "package-variable";
|
22
|
+
constructor(_analyzer: Analyzer, entity: PackageVariableEntity);
|
23
|
+
equals(other: NarrowableReference): boolean;
|
24
|
+
contains(_other: NarrowableReference): boolean;
|
25
|
+
equalsExpression(expression: NarrowableReferenceExpression): boolean;
|
26
|
+
containsExpression(_expression: NarrowableReferenceExpression): boolean;
|
27
|
+
}
|
28
|
+
export class InstanceField implements INarrowableReference {
|
29
|
+
private readonly _analyzer;
|
30
|
+
readonly variable: types.Variable;
|
31
|
+
readonly receiver: NarrowableReference;
|
32
|
+
readonly kind = "instance-field";
|
33
|
+
constructor(_analyzer: Analyzer, variable: types.Variable, receiver: NarrowableReference);
|
34
|
+
equals(other: NarrowableReference): boolean;
|
35
|
+
contains(other: NarrowableReference): boolean;
|
36
|
+
equalsExpression(expression: NarrowableReferenceExpression): boolean;
|
37
|
+
containsExpression(expression: NarrowableReferenceExpression): boolean;
|
38
|
+
}
|
39
|
+
export class StaticField implements INarrowableReference {
|
40
|
+
private readonly _analyzer;
|
41
|
+
readonly variable: types.Variable;
|
42
|
+
readonly kind = "static-field";
|
43
|
+
constructor(_analyzer: Analyzer, variable: types.Variable);
|
44
|
+
equals(other: NarrowableReference): boolean;
|
45
|
+
contains(_other: NarrowableReference): boolean;
|
46
|
+
equalsExpression(expression: NarrowableReferenceExpression): boolean;
|
47
|
+
containsExpression(_expression: NarrowableReferenceExpression): boolean;
|
48
|
+
}
|
49
|
+
export class ObjectAutoVariable implements INarrowableReference {
|
50
|
+
readonly kind = "object-auto-variable";
|
51
|
+
equals(other: NarrowableReference): boolean;
|
52
|
+
contains(_other: NarrowableReference): boolean;
|
53
|
+
equalsExpression(expression: NarrowableReferenceExpression): boolean;
|
54
|
+
containsExpression(_expression: NarrowableReferenceExpression): boolean;
|
55
|
+
}
|
56
|
+
interface INarrowableReference {
|
57
|
+
equals(other: NarrowableReference): boolean;
|
58
|
+
contains(other: NarrowableReference): boolean;
|
59
|
+
/**
|
60
|
+
* Отличается от метода `equals` тем, что выполняет сравнение лениво. Например, при сравнении с выражением
|
61
|
+
* `а.б` сперва будут сравнены части слева от точки (выражение `а` с `receiver`), и только при равенстве будет
|
62
|
+
* связано и сравнено имя `б`. Если выражение `а` не равно `receiver`, то сразу будет возвращено `false` и
|
63
|
+
* связывание для имени `б` выполняться не будет. Такое поведение необходимо при анализе циклов,
|
64
|
+
* чтобы избежать рекурсии.
|
65
|
+
*/
|
66
|
+
equalsExpression(expression: NarrowableReferenceExpression): boolean;
|
67
|
+
containsExpression(expression: NarrowableReferenceExpression): boolean;
|
68
|
+
}
|
69
|
+
export {};
|
70
|
+
}
|
71
|
+
export declare function getReferenceAtNarrowableExpression(analyzer: Analyzer, node: NarrowableReferenceExpression): NarrowableReference | undefined;
|
72
|
+
export declare function getReferenceAtExpressionIfNarrowable(analyzer: Analyzer, node: tree.Expression): NarrowableReference | undefined;
|
73
|
+
export declare function getNarrowableReferenceAtLocalVariableDeclaration(analyzer: Analyzer, node: tree.LocalVariableDeclaration): NarrowableReference;
|
@@ -74,7 +74,16 @@ export declare abstract class LoopNode extends ControlFlowNodeBase {
|
|
74
74
|
readonly kind = "loop";
|
75
75
|
get debuggerDisplay(): string;
|
76
76
|
protected get thisAsNode(): Node;
|
77
|
+
/**
|
78
|
+
* Предшествующий узел, не образующий цикл в графе потока управления. Любой цикл имеет ровно один такой узел.
|
79
|
+
*/
|
77
80
|
abstract predecessor: Node;
|
81
|
+
/**
|
82
|
+
* Предшествующие узлы, образующие цикл в графе управление. В простейшем случае имеет один элемент, поскольку
|
83
|
+
* управление в конце цикла возвращается в его начало (т.е. началу цикла предшествует его конец). Может иметь
|
84
|
+
* несколько элементов, если в теле цикла используются инструкции `следующий цикл`, или не иметь ни одного элемента,
|
85
|
+
* если это бесконечный цикл, содержащий инструкцию `прервать цикл`, или любую другую, прерывающую поток управления.
|
86
|
+
*/
|
78
87
|
abstract loopingPredecessors: readonly Node[];
|
79
88
|
}
|
80
89
|
/**
|
@@ -0,0 +1,117 @@
|
|
1
|
+
import { Name } from '../../common/index.js';
|
2
|
+
import { EntityHidingLevel, FunctionEntity, NamedTypeEntity, PackageAliasEntity, VariableEntity } from '../../entities/index.js';
|
3
|
+
import * as types from '../../types/index.js';
|
4
|
+
import { PackageNameTreeNode } from '../ImportedPackageNameTree.js';
|
5
|
+
export type TypeOrContainerWithTypes = NamedDeclaration_type | NamedDeclaration_packageAlias | NamedDeclaration_packageNameSegment;
|
6
|
+
export type NamedDeclaration = NamedDeclaration_function | NamedDeclaration_variable | NamedDeclaration_type | NamedDeclaration_packageAlias | NamedDeclaration_packageNameSegment;
|
7
|
+
export declare class NamedDeclaration_function implements INamedDeclaration {
|
8
|
+
readonly value: NamedDeclarationFunction;
|
9
|
+
readonly kind = "function";
|
10
|
+
constructor(value: NamedDeclarationFunction);
|
11
|
+
getName(): Name;
|
12
|
+
isHidden(): EntityHidingLevel | undefined;
|
13
|
+
}
|
14
|
+
export type NamedDeclarationFunction = NamedDeclarationFunction_entity | NamedDeclarationFunction_typeMember;
|
15
|
+
export declare class NamedDeclarationFunction_entity implements INamedDeclarationFunction {
|
16
|
+
readonly kind = "entity";
|
17
|
+
private readonly _valueParameters;
|
18
|
+
readonly value: FunctionEntity;
|
19
|
+
constructor(value: FunctionEntity);
|
20
|
+
getName(): Name;
|
21
|
+
getEntity(): FunctionEntity;
|
22
|
+
getTypeParameterArity(): number;
|
23
|
+
isHidden(): EntityHidingLevel | undefined;
|
24
|
+
getValueParameters(): readonly ValueParameter[];
|
25
|
+
}
|
26
|
+
export declare class NamedDeclarationFunction_typeMember implements INamedDeclarationFunction {
|
27
|
+
readonly kind = "type-member";
|
28
|
+
private readonly _valueParameters;
|
29
|
+
readonly value: types.Method;
|
30
|
+
constructor(value: types.Method);
|
31
|
+
getName(): Name;
|
32
|
+
getEntity(): FunctionEntity;
|
33
|
+
getTypeParameterArity(): number;
|
34
|
+
isHidden(): EntityHidingLevel | undefined;
|
35
|
+
getValueParameters(): readonly ValueParameter[];
|
36
|
+
}
|
37
|
+
interface INamedDeclarationFunction {
|
38
|
+
getName(): Name;
|
39
|
+
getEntity(): FunctionEntity;
|
40
|
+
getTypeParameterArity(): number;
|
41
|
+
isHidden(): EntityHidingLevel | undefined;
|
42
|
+
getValueParameters(): readonly ValueParameter[];
|
43
|
+
}
|
44
|
+
export type ValueParameter = ValueParameter_entity | ValueParameter_typeMember;
|
45
|
+
export declare class ValueParameter_entity implements IValueParameter {
|
46
|
+
readonly value: VariableEntity;
|
47
|
+
readonly kind = "entity";
|
48
|
+
constructor(value: VariableEntity);
|
49
|
+
getName(): Name;
|
50
|
+
getType(): types.Type;
|
51
|
+
}
|
52
|
+
export declare class ValueParameter_typeMember implements IValueParameter {
|
53
|
+
readonly value: types.ValueParameter;
|
54
|
+
readonly kind = "type-member";
|
55
|
+
constructor(value: types.ValueParameter);
|
56
|
+
getName(): Name;
|
57
|
+
getType(): types.Type;
|
58
|
+
}
|
59
|
+
interface IValueParameter {
|
60
|
+
getName(): Name;
|
61
|
+
getType(): types.Type;
|
62
|
+
}
|
63
|
+
export declare class NamedDeclaration_variable implements INamedDeclaration {
|
64
|
+
readonly value: NamedDeclarationVariable;
|
65
|
+
readonly kind = "variable";
|
66
|
+
constructor(value: NamedDeclarationVariable);
|
67
|
+
getName(): Name;
|
68
|
+
isHidden(): EntityHidingLevel | undefined;
|
69
|
+
}
|
70
|
+
export type NamedDeclarationVariable = NamedDeclarationVariable_entity | NamedDeclarationVariable_typeMember;
|
71
|
+
export declare class NamedDeclarationVariable_entity implements INamedDeclarationVariable {
|
72
|
+
readonly value: VariableEntity;
|
73
|
+
readonly kind = "entity";
|
74
|
+
constructor(value: VariableEntity);
|
75
|
+
getName(): Name;
|
76
|
+
getEntity(): VariableEntity;
|
77
|
+
isHidden(): EntityHidingLevel | undefined;
|
78
|
+
}
|
79
|
+
export declare class NamedDeclarationVariable_typeMember implements INamedDeclarationVariable {
|
80
|
+
readonly value: types.Variable;
|
81
|
+
readonly kind = "type-member";
|
82
|
+
constructor(value: types.Variable);
|
83
|
+
getName(): Name;
|
84
|
+
getEntity(): VariableEntity;
|
85
|
+
isHidden(): EntityHidingLevel | undefined;
|
86
|
+
}
|
87
|
+
interface INamedDeclarationVariable {
|
88
|
+
getName(): Name;
|
89
|
+
getEntity(): VariableEntity;
|
90
|
+
isHidden(): EntityHidingLevel | undefined;
|
91
|
+
}
|
92
|
+
export declare class NamedDeclaration_type implements INamedDeclaration {
|
93
|
+
readonly value: NamedTypeEntity;
|
94
|
+
readonly kind = "type";
|
95
|
+
constructor(value: NamedTypeEntity);
|
96
|
+
getName(): Name;
|
97
|
+
isHidden(): EntityHidingLevel | undefined;
|
98
|
+
}
|
99
|
+
export declare class NamedDeclaration_packageAlias implements INamedDeclaration {
|
100
|
+
readonly value: PackageAliasEntity;
|
101
|
+
readonly kind = "package-alias";
|
102
|
+
constructor(value: PackageAliasEntity);
|
103
|
+
getName(): Name;
|
104
|
+
isHidden(): EntityHidingLevel | undefined;
|
105
|
+
}
|
106
|
+
export declare class NamedDeclaration_packageNameSegment implements INamedDeclaration {
|
107
|
+
readonly value: PackageNameTreeNode;
|
108
|
+
readonly kind = "package-name-segment";
|
109
|
+
constructor(value: PackageNameTreeNode);
|
110
|
+
getName(): Name;
|
111
|
+
isHidden(): EntityHidingLevel | undefined;
|
112
|
+
}
|
113
|
+
interface INamedDeclaration {
|
114
|
+
getName(): Name;
|
115
|
+
isHidden(): EntityHidingLevel | undefined;
|
116
|
+
}
|
117
|
+
export {};
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { SearchName } from '../../common/index.js';
|
2
|
+
import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
|
3
|
+
import * as tree from '../../tree/index.js';
|
4
|
+
import { Analyzer } from '../Analyzer.js';
|
5
|
+
import { FoundNamedDeclaration } from '../FoundDeclaration.js';
|
6
|
+
import { NamedDeclaration, TypeOrContainerWithTypes } from './Declarations.js';
|
7
|
+
import { SemanticContext } from './SemanticContext.js';
|
8
|
+
import { SemanticContextWithParent } from './SemanticContextWithParent.js';
|
9
|
+
import { SemanticContextContainingTypeMember } from './TypeSemanticContext.js';
|
10
|
+
export declare class FieldWithInitializerSemanticContext extends SemanticContextWithParent {
|
11
|
+
readonly kind = "field-initializer";
|
12
|
+
readonly outer: SemanticContextContainingTypeMember;
|
13
|
+
protected readonly asContext: SemanticContext;
|
14
|
+
private readonly _analyzer;
|
15
|
+
private readonly _node;
|
16
|
+
constructor(analyzer: Analyzer, node: tree.FieldDeclaration, outer: SemanticContextContainingTypeMember);
|
17
|
+
isStatic(): boolean;
|
18
|
+
getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
19
|
+
getOwnTypesOrContainersWithTypesByName(_name: SearchName, _hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
20
|
+
getOwnNamedDeclarations(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
|
21
|
+
getOwnNamedDeclarationsByName(_name: SearchName, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
|
22
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { FieldWithInitializerSemanticContext } from './FieldWithInitializerSemanticContext.js';
|
2
|
+
import { SourceFileSemanticContext } from './SourceFileSemanticContext.js';
|
3
|
+
import { CatchClauseSemanticContext, ForStatementSemanticContext, FunctionBlockSemanticContext, SpecialLocalDeclarationSemanticContext, StatementBlockSemanticContext, SubprogramParameterSemanticContext, SubprogramTypeParameterSemanticContext } from './SubprogramBodyAndParametersSemanticContext.js';
|
4
|
+
import { OutermostSemanticContextOfSubprogram } from './SubprogramSemanticContext.js';
|
5
|
+
import { OutermostSemanticContextOfType, ParametersOfFunctionTypeSemanticContext, TypeBodySemanticContext, TypeExtensionBodySemanticContext, TypeParametersOfTypeSemanticContext } from './TypeSemanticContext.js';
|
6
|
+
/**
|
7
|
+
* Позволяет получить информацию, общую для определённой области
|
8
|
+
* исходного кода (блока инструкций, списка членов типа и др.) с учётом
|
9
|
+
* всех вышестоящих (родительских) контекстов.
|
10
|
+
* Чтобы получить семантический контекст, в котором находится определённый узел,
|
11
|
+
* используйте `analyzer.semanticContext.containing(node)`.
|
12
|
+
*/
|
13
|
+
export type SemanticContext = SourceFileSemanticContext | OutermostSemanticContextOfType | TypeParametersOfTypeSemanticContext | TypeBodySemanticContext | TypeExtensionBodySemanticContext | ParametersOfFunctionTypeSemanticContext | OutermostSemanticContextOfSubprogram | SubprogramTypeParameterSemanticContext | SubprogramParameterSemanticContext | SpecialLocalDeclarationSemanticContext | StatementBlockSemanticContext | FunctionBlockSemanticContext | FieldWithInitializerSemanticContext | ForStatementSemanticContext | CatchClauseSemanticContext;
|
@@ -0,0 +1,168 @@
|
|
1
|
+
import { SearchName } from '../../common/SearchName.js';
|
2
|
+
import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
|
3
|
+
import { ConstructorEntity, OperatorKind, PackageEntity, TypeEntity, TypeEntityWithMembers, TypeExtensionEntity } from '../../entities/index.js';
|
4
|
+
import { SourceFile } from '../../project/SourceFile.js';
|
5
|
+
import * as tree from '../../tree/index.js';
|
6
|
+
import * as types from '../../types/index.js';
|
7
|
+
import { Analyzer } from '../Analyzer.js';
|
8
|
+
import { FoundAnonymousDeclaration, FoundNamedDeclaration } from '../FoundDeclaration.js';
|
9
|
+
import { LocalizationContext } from '../LocalizationContext.js';
|
10
|
+
import { FunctionDeclaration, GetterDeclaration, RegularOrBlockFunctionLiteral, SetterDeclaration, SubprogramDeclarationOrLiteral } from '../NodeTypeUtils.js';
|
11
|
+
import { NamedDeclaration, TypeOrContainerWithTypes } from './Declarations.js';
|
12
|
+
import { SemanticContext } from './SemanticContext.js';
|
13
|
+
export declare abstract class SemanticContextBase {
|
14
|
+
abstract readonly outer: SemanticContext | undefined;
|
15
|
+
protected abstract readonly asContext: SemanticContext;
|
16
|
+
abstract getContainingSubprogram(): SubprogramInfo | undefined;
|
17
|
+
abstract getContainingTypeOrTypeExtension(): TypeOrTypeExtension | undefined;
|
18
|
+
abstract getTryStatementContext(): TryStatementContextKind | undefined;
|
19
|
+
abstract isStatic(): boolean;
|
20
|
+
abstract getOwnTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
21
|
+
abstract getOwnTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
22
|
+
abstract getOwnNamedDeclarations(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
|
23
|
+
abstract getOwnNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
|
24
|
+
getLocalizationContext(): LocalizationContext;
|
25
|
+
getContainingSourceFile(): SourceFile;
|
26
|
+
getContainingPackage(): PackageEntity;
|
27
|
+
getHidingMatcher(): IEntityHidingMatcher;
|
28
|
+
getTypesOrContainersWithTypes(): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
29
|
+
getTypesOrContainersWithTypesByName(name: SearchName): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
|
30
|
+
getNamedDeclarations(noInstanceMembers?: boolean): readonly FoundNamedDeclaration<NamedDeclaration>[];
|
31
|
+
getNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean): readonly FoundNamedDeclaration<NamedDeclaration>[];
|
32
|
+
getOperators(noInstanceMembers?: boolean): readonly FoundAnonymousDeclaration<types.Operator>[];
|
33
|
+
getOperatorsByKind(kind: OperatorKind, noInstanceMembers?: boolean): readonly FoundAnonymousDeclaration<types.Operator>[];
|
34
|
+
getTypeExtensionsByType(type: TypeEntity): readonly TypeExtensionEntity[];
|
35
|
+
private enumerateSemanticContexts;
|
36
|
+
private getSourceFileContext;
|
37
|
+
}
|
38
|
+
export type SubprogramInfo = SubprogramInfo.Function | SubprogramInfo.Operator | SubprogramInfo.Constructor | SubprogramInfo.Destructor | SubprogramInfo.Getter | SubprogramInfo.Setter | SubprogramInfo.PackageConstructor | SubprogramInfo.PackageEntryPoint | SubprogramInfo.FunctionLiteral;
|
39
|
+
export declare namespace SubprogramInfo {
|
40
|
+
export class Function implements ISubprogramInfo {
|
41
|
+
readonly kind = "function";
|
42
|
+
private readonly _analyzer;
|
43
|
+
private readonly _node;
|
44
|
+
constructor(analyzer: Analyzer, node: FunctionDeclaration);
|
45
|
+
getReturnType(): types.Type | undefined;
|
46
|
+
isGenerator(): boolean;
|
47
|
+
allowsAsyncCalls(): boolean;
|
48
|
+
getNode(): FunctionDeclaration;
|
49
|
+
private getEntity;
|
50
|
+
}
|
51
|
+
export class Operator implements ISubprogramInfo {
|
52
|
+
readonly kind = "operator";
|
53
|
+
private readonly _analyzer;
|
54
|
+
private readonly _node;
|
55
|
+
constructor(analyzer: Analyzer, node: tree.OperatorDeclaration);
|
56
|
+
getReturnType(): types.Type | undefined;
|
57
|
+
isGenerator(): boolean;
|
58
|
+
allowsAsyncCalls(): boolean;
|
59
|
+
getNode(): tree.OperatorDeclaration;
|
60
|
+
}
|
61
|
+
export class Constructor implements ISubprogramInfo {
|
62
|
+
readonly kind = "constructor";
|
63
|
+
private readonly _analyzer;
|
64
|
+
private readonly _node;
|
65
|
+
constructor(analyzer: Analyzer, node: tree.ConstructorDeclaration);
|
66
|
+
getReturnType(): types.Type | undefined;
|
67
|
+
isGenerator(): boolean;
|
68
|
+
allowsAsyncCalls(): boolean;
|
69
|
+
getEntity(): ConstructorEntity;
|
70
|
+
getNode(): tree.ConstructorDeclaration;
|
71
|
+
}
|
72
|
+
export class Destructor implements ISubprogramInfo {
|
73
|
+
readonly kind = "destructor";
|
74
|
+
private readonly _analyzer;
|
75
|
+
private readonly _node;
|
76
|
+
constructor(analyzer: Analyzer, node: tree.DestructorDeclaration);
|
77
|
+
getReturnType(): types.Type | undefined;
|
78
|
+
isGenerator(): boolean;
|
79
|
+
allowsAsyncCalls(): boolean;
|
80
|
+
getNode(): tree.DestructorDeclaration;
|
81
|
+
}
|
82
|
+
export class Getter implements ISubprogramInfo {
|
83
|
+
readonly kind = "getter";
|
84
|
+
private readonly _analyzer;
|
85
|
+
private readonly _node;
|
86
|
+
constructor(analyzer: Analyzer, node: GetterDeclaration);
|
87
|
+
getReturnType(): types.Type | undefined;
|
88
|
+
isGenerator(): boolean;
|
89
|
+
allowsAsyncCalls(): boolean;
|
90
|
+
getNode(): GetterDeclaration;
|
91
|
+
}
|
92
|
+
export class Setter implements ISubprogramInfo {
|
93
|
+
readonly kind = "setter";
|
94
|
+
private readonly _analyzer;
|
95
|
+
private readonly _node;
|
96
|
+
constructor(analyzer: Analyzer, node: SetterDeclaration);
|
97
|
+
getReturnType(): types.Type | undefined;
|
98
|
+
isGenerator(): boolean;
|
99
|
+
allowsAsyncCalls(): boolean;
|
100
|
+
getNode(): SetterDeclaration;
|
101
|
+
}
|
102
|
+
export class PackageConstructor implements ISubprogramInfo {
|
103
|
+
readonly kind = "package-constructor";
|
104
|
+
private readonly _analyzer;
|
105
|
+
private readonly _node;
|
106
|
+
constructor(analyzer: Analyzer, node: tree.PackageConstructorDeclaration);
|
107
|
+
getReturnType(): types.Type | undefined;
|
108
|
+
isGenerator(): boolean;
|
109
|
+
allowsAsyncCalls(): boolean;
|
110
|
+
getPackageEntity(): PackageEntity;
|
111
|
+
getNode(): tree.PackageConstructorDeclaration;
|
112
|
+
}
|
113
|
+
export class PackageEntryPoint implements ISubprogramInfo {
|
114
|
+
readonly kind = "package-entry-point";
|
115
|
+
private readonly _analyzer;
|
116
|
+
private readonly _node;
|
117
|
+
constructor(analyzer: Analyzer, node: tree.PackageEntryPointDeclaration);
|
118
|
+
getReturnType(): types.Type | undefined;
|
119
|
+
isGenerator(): boolean;
|
120
|
+
allowsAsyncCalls(): boolean;
|
121
|
+
getPackageEntity(): PackageEntity;
|
122
|
+
getNode(): tree.PackageEntryPointDeclaration;
|
123
|
+
}
|
124
|
+
export class FunctionLiteral implements ISubprogramInfo {
|
125
|
+
readonly kind = "function-literal";
|
126
|
+
private readonly _analyzer;
|
127
|
+
private readonly _node;
|
128
|
+
constructor(analyzer: Analyzer, node: RegularOrBlockFunctionLiteral);
|
129
|
+
getReturnType(): types.Type | undefined;
|
130
|
+
isGenerator(): boolean;
|
131
|
+
allowsAsyncCalls(): boolean;
|
132
|
+
getNode(): RegularOrBlockFunctionLiteral;
|
133
|
+
private getSignatureType;
|
134
|
+
}
|
135
|
+
interface ISubprogramInfo {
|
136
|
+
getReturnType(): types.Type | undefined;
|
137
|
+
isGenerator(): boolean;
|
138
|
+
allowsAsyncCalls(): boolean;
|
139
|
+
getNode(): SubprogramDeclarationOrLiteral;
|
140
|
+
}
|
141
|
+
export {};
|
142
|
+
}
|
143
|
+
export type TypeOrTypeExtension = TypeOrTypeExtension.Type | TypeOrTypeExtension.TypeExtension;
|
144
|
+
export declare namespace TypeOrTypeExtension {
|
145
|
+
export class Type implements ITypeOrTypeExtension {
|
146
|
+
readonly value: TypeEntityWithMembers;
|
147
|
+
readonly kind = "type";
|
148
|
+
constructor(value: TypeEntityWithMembers);
|
149
|
+
getContextualTypeEntity(): TypeEntity | undefined;
|
150
|
+
getEntity(): TypeEntityWithMembers;
|
151
|
+
}
|
152
|
+
export class TypeExtension implements ITypeOrTypeExtension {
|
153
|
+
readonly value: TypeExtensionEntity;
|
154
|
+
readonly kind = "type-extension";
|
155
|
+
constructor(value: TypeExtensionEntity);
|
156
|
+
getContextualTypeEntity(): TypeEntity | undefined;
|
157
|
+
getEntity(): TypeExtensionEntity;
|
158
|
+
}
|
159
|
+
interface ITypeOrTypeExtension {
|
160
|
+
getContextualTypeEntity(): TypeEntity | undefined;
|
161
|
+
getEntity(): TypeEntityWithMembers | TypeExtensionEntity;
|
162
|
+
}
|
163
|
+
export {};
|
164
|
+
}
|
165
|
+
export declare enum TryStatementContextKind {
|
166
|
+
InTryBlockWithCatchClause = 0,
|
167
|
+
InFinallyBlock = 1
|
168
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { EntityHidingLevel, IEntityHidingMatcher } from '../../entities/EntityHiding.js';
|
2
|
+
import { SemanticContext } from './SemanticContext.js';
|
3
|
+
export declare class SemanticContextBasedEntityHidingMatcher implements IEntityHidingMatcher {
|
4
|
+
private readonly _semanticContext;
|
5
|
+
private readonly _sourceFile;
|
6
|
+
private readonly _type;
|
7
|
+
private readonly _package;
|
8
|
+
private get sourceFile();
|
9
|
+
private get package();
|
10
|
+
private get type();
|
11
|
+
constructor(semanticContext: SemanticContext);
|
12
|
+
matches(hiding: EntityHidingLevel): boolean;
|
13
|
+
private collectBaseTypesRecursively;
|
14
|
+
}
|