@artel/artc 0.6.25225 → 0.6.25227

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.
Files changed (60) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +10 -56
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +397 -316
  5. package/build/{chunk-Z6TZA6SN.js → chunk-74TFH7TE.js} +3 -3
  6. package/build/{chunk-TFTCV5R5.js → chunk-NOECPQMV.js} +6157 -5620
  7. package/build/{chunk-UB6LHKS5.js → chunk-VD6OPILI.js} +3 -3
  8. package/build/types/analysis/Analyzer.d.ts +24 -70
  9. package/build/types/analysis/AssignmentChecker.d.ts +11 -0
  10. package/build/types/analysis/CallExpressionMeaning.d.ts +2 -0
  11. package/build/types/analysis/DiagnosticCollector.d.ts +6 -3
  12. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +6 -6
  13. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +3 -3
  14. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +9 -9
  15. package/build/types/analysis/NamedTypeResolver.d.ts +3 -2
  16. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +3 -2
  17. package/build/types/analysis/NodeTypeUtils.d.ts +3 -2
  18. package/build/types/analysis/TagMeaning.d.ts +3 -2
  19. package/build/types/analysis/TypeMemberLookup.d.ts +11 -11
  20. package/build/types/analysis/TypeNarrower.d.ts +0 -69
  21. package/build/types/analysis/control-flow/GraphBuilder.d.ts +1 -0
  22. package/build/types/analysis/control-flow/NarrowableReference.d.ts +73 -0
  23. package/build/types/analysis/control-flow/Nodes.d.ts +9 -0
  24. package/build/types/analysis/control-flow/index.d.ts +1 -0
  25. package/build/types/analysis/semantic-context/Declarations.d.ts +117 -0
  26. package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +22 -0
  27. package/build/types/analysis/semantic-context/SemanticContext.d.ts +13 -0
  28. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +168 -0
  29. package/build/types/analysis/semantic-context/SemanticContextBasedEntityHidingMatcher.d.ts +14 -0
  30. package/build/types/analysis/semantic-context/SemanticContextBuilder.d.ts +84 -0
  31. package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +124 -0
  32. package/build/types/analysis/semantic-context/SemanticContextWithParent.d.ts +9 -0
  33. package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +42 -0
  34. package/build/types/analysis/semantic-context/SpecialLocalDeclarationsBuilder.d.ts +23 -0
  35. package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +122 -0
  36. package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +109 -0
  37. package/build/types/analysis/semantic-context/index.d.ts +9 -0
  38. package/build/types/api/Api.d.ts +3 -5
  39. package/build/types/common/Errors.d.ts +2 -0
  40. package/build/types/common/Lazy.d.ts +4 -0
  41. package/build/types/common/Query.d.ts +2 -1
  42. package/build/types/common/WithDiagnostics.d.ts +4 -3
  43. package/build/types/common/index.d.ts +1 -0
  44. package/build/types/diagnostic/DiagnosticCode.d.ts +105 -99
  45. package/build/types/emitter/IrBuilder.d.ts +1 -0
  46. package/build/types/emitter/Transformer.d.ts +1 -1
  47. package/build/types/entities/FunctionEntity.d.ts +2 -2
  48. package/build/types/entities/VariableEntity.d.ts +35 -19
  49. package/build/types/services/DefinitionService.d.ts +3 -0
  50. package/build/types/tree/KeywordKind.d.ts +31 -30
  51. package/build/types/tree/NodeKind.d.ts +81 -80
  52. package/build/types/tree/green/Nodes.d.ts +40 -18
  53. package/build/types/tree/red/Nodes.d.ts +31 -15
  54. package/build/types/types/TypeFactory.d.ts +0 -2
  55. package/package.json +1 -1
  56. package/build/types/analysis/Lookup.d.ts +0 -28
  57. package/build/types/analysis/Scope.d.ts +0 -205
  58. package/build/types/analysis/SemanticContext.d.ts +0 -367
  59. package/build/types/analysis/SemanticContextBuilder.d.ts +0 -59
  60. package/build/types/analysis/StatementBlockScopeBuilder.d.ts +0 -26
@@ -36,6 +36,7 @@ export type IdentifierParent = PackageImport | PackageName | PackageAliasTypeDec
36
36
  export type Identifier = Token<TokenKind.Identifier>;
37
37
  export type Comma = Token<TokenKind.Comma>;
38
38
  export type Semicolon = Token<TokenKind.Semicolon>;
39
+ export type IdentifierListElement = Identifier | Comma;
39
40
  export type KeywordParent = Node;
40
41
  export declare class Keyword<TKind extends KeywordKind = KeywordKind> extends BaseNode {
41
42
  readonly kind = NodeKind.Keyword;
@@ -878,8 +879,9 @@ export declare class EnumerationVariableDeclaration extends BaseNode {
878
879
  constructor(green: green.EnumerationVariableDeclaration, rangeStart: number, parent: EnumerationVariableDeclarationParent);
879
880
  private createChildren;
880
881
  }
881
- export type Expression = ArrayLiteral | AsExpression | AssertionExpression | AssumptionExpression | BinaryExpression | FunctionBlockLiteral | CallExpression | IdentifierExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | FunctionLiteral | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | GenericSpecializationExpression | DefaultMatchExpression | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression;
882
- export type ExpressionParent = ArrayLiteralElementList | AsExpression | AssertionExpression | AssumptionExpression | AssignmentStatement | BinaryExpression | Argument | CallExpression | DisposeStatement | ErrorStatement | ImportantStatement | ExpressionStatement | ForStatement | PackageVariableDeclaration | IfStatement | IndexedAccessExpression | IsExpression | LocalVariableDeclaration | MatchExpressionList | ParameterDeclaration | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | LoopStatement | ReturnStatement | TextTemplateSpan | FieldDeclaration | SwitchStatement | VariantDeclaration | WhileStatement | YieldStatement | GenericSpecializationExpression | ElseIfClause | TextTemplateLiteralTranslation | FunctionBlock;
882
+ export type Expression = ArrayLiteral | AsExpression | AssertionExpression | AssumptionExpression | BinaryExpression | FunctionBlockLiteral | CallExpression | IdentifierExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | FunctionLiteral | ParenthesizedExpression | WhenTernaryExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | GenericSpecializationExpression | DefaultMatchExpression | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression;
883
+ export type ExpressionParent = ArrayLiteralElementList | AsExpression | AssertionExpression | AssumptionExpression | AssignmentStatement | BinaryExpression | Argument | CallExpression | DisposeStatement | ErrorStatement | ImportantStatement | ExpressionStatement | ForStatement | PackageVariableDeclaration | IfStatement | IndexedAccessExpression | IsExpression | LocalVariableDeclaration | MatchExpressionList | ParameterDeclaration | ParenthesizedExpression | WhenTernaryExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | LoopStatement | ReturnStatement | TextTemplateSpan | FieldDeclaration | SwitchStatement | VariantDeclaration | WhileStatement | YieldStatement | GenericSpecializationExpression | ElseIfClause | TextTemplateLiteralTranslation | FunctionBlock;
884
+ export type ExpressionListElement = Expression | Comma;
883
885
  export declare class ArrayLiteral extends BaseNode {
884
886
  readonly kind = NodeKind.ArrayLiteral;
885
887
  readonly green: green.ArrayLiteral;
@@ -893,15 +895,14 @@ export declare class ArrayLiteral extends BaseNode {
893
895
  constructor(green: green.ArrayLiteral, rangeStart: number, parent: ExpressionParent);
894
896
  private createChildren;
895
897
  }
896
- export type ArrayLiteralElementListElement = Expression | Comma;
897
898
  export type ArrayLiteralElementListParent = ArrayLiteral;
898
899
  export declare class ArrayLiteralElementList extends BaseNode {
899
900
  readonly kind = NodeKind.ArrayLiteralElementList;
900
901
  readonly green: green.ArrayLiteralElementList;
901
902
  readonly parent: ArrayLiteralElementListParent;
902
903
  private _children;
903
- get children(): readonly ArrayLiteralElementListElement[];
904
- get elements(): readonly ArrayLiteralElementListElement[];
904
+ get children(): readonly ExpressionListElement[];
905
+ get elements(): readonly ExpressionListElement[];
905
906
  get expressions(): Query<Expression>;
906
907
  protected get thisAsNode(): Node;
907
908
  constructor(green: green.ArrayLiteralElementList, rangeStart: number, parent: ArrayLiteralElementListParent);
@@ -1089,6 +1090,24 @@ export declare class WhenTernaryExpression extends BaseNode {
1089
1090
  constructor(green: green.WhenTernaryExpression, rangeStart: number, parent: ExpressionParent);
1090
1091
  private createChildren;
1091
1092
  }
1093
+ export declare class ConditionalExpression extends BaseNode {
1094
+ readonly kind = NodeKind.ConditionalExpression;
1095
+ readonly green: green.ConditionalExpression;
1096
+ readonly parent: ExpressionParent;
1097
+ private _children;
1098
+ get children(): readonly [Keyword<green.KeywordKind.Cond>, Token<green.TokenKind.OpenParenthesis>, Expression, Comma, Expression, Comma | undefined, Expression | undefined, Token<green.TokenKind.CloseParenthesis>];
1099
+ get condKeyword(): Keyword<KeywordKind.Cond>;
1100
+ get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1101
+ get condition(): Expression;
1102
+ get firstComma(): Comma;
1103
+ get firstExpression(): Expression;
1104
+ get secondComma(): Comma | undefined;
1105
+ get secondExpression(): Expression | undefined;
1106
+ get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1107
+ protected get thisAsNode(): Node;
1108
+ constructor(green: green.ConditionalExpression, rangeStart: number, parent: ExpressionParent);
1109
+ private createChildren;
1110
+ }
1092
1111
  export declare class PrefixUnaryExpression extends BaseNode {
1093
1112
  readonly kind = NodeKind.PrefixUnaryExpression;
1094
1113
  readonly green: green.PrefixUnaryExpression;
@@ -1637,15 +1656,14 @@ export declare class SwitchStatement extends BaseNode {
1637
1656
  constructor(green: green.SwitchStatement, rangeStart: number, parent: SwitchStatementParent);
1638
1657
  private createChildren;
1639
1658
  }
1640
- export type MatchExpressionListElement = Expression | Comma;
1641
1659
  export type MatchExpressionListParent = CaseClause;
1642
1660
  export declare class MatchExpressionList extends BaseNode {
1643
1661
  readonly kind = NodeKind.MatchExpressionList;
1644
1662
  readonly green: green.MatchExpressionList;
1645
1663
  readonly parent: MatchExpressionListParent;
1646
1664
  private _children;
1647
- get children(): readonly MatchExpressionListElement[];
1648
- get elements(): readonly MatchExpressionListElement[];
1665
+ get children(): readonly ExpressionListElement[];
1666
+ get elements(): readonly ExpressionListElement[];
1649
1667
  get matchExpressions(): Query<Expression>;
1650
1668
  protected get thisAsNode(): Node;
1651
1669
  constructor(green: green.MatchExpressionList, rangeStart: number, parent: MatchExpressionListParent);
@@ -1691,15 +1709,14 @@ export declare class YieldStatement extends BaseNode {
1691
1709
  private createChildren;
1692
1710
  }
1693
1711
  export type TopLevelTranslation = PackageImportTranslation | PackageVariableTranslation | PackageFunctionTranslation | TypeTranslation | FunctionTypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation;
1694
- export type TranslationParameterListElement = Identifier | Comma;
1695
1712
  export type TranslationParameterListParent = TranslationParameterClause | IndexParameterTranslationClause;
1696
1713
  export declare class TranslationParameterList extends BaseNode {
1697
1714
  readonly kind = NodeKind.TranslationParameterList;
1698
1715
  readonly green: green.TranslationParameterList;
1699
1716
  readonly parent: TranslationParameterListParent;
1700
1717
  private _children;
1701
- get children(): readonly TranslationParameterListElement[];
1702
- get elements(): readonly TranslationParameterListElement[];
1718
+ get children(): readonly IdentifierListElement[];
1719
+ get elements(): readonly IdentifierListElement[];
1703
1720
  get parameters(): Query<Identifier>;
1704
1721
  protected get thisAsNode(): Node;
1705
1722
  constructor(green: green.TranslationParameterList, rangeStart: number, parent: TranslationParameterListParent);
@@ -1760,15 +1777,14 @@ export declare class IndexerTranslation extends BaseNode {
1760
1777
  constructor(green: green.IndexerTranslation, rangeStart: number, parent: TypeMemberTranslationParent);
1761
1778
  private createChildren;
1762
1779
  }
1763
- export type TranslationTypeParameterListElement = Identifier | Comma;
1764
1780
  export type TranslationTypeParameterListParent = TranslationTypeParameterClause;
1765
1781
  export declare class TranslationTypeParameterList extends BaseNode {
1766
1782
  readonly kind = NodeKind.TranslationTypeParameterList;
1767
1783
  readonly green: green.TranslationTypeParameterList;
1768
1784
  readonly parent: TranslationTypeParameterListParent;
1769
1785
  private _children;
1770
- get children(): readonly TranslationTypeParameterListElement[];
1771
- get elements(): readonly TranslationTypeParameterListElement[];
1786
+ get children(): readonly IdentifierListElement[];
1787
+ get elements(): readonly IdentifierListElement[];
1772
1788
  get parameters(): Query<Identifier>;
1773
1789
  protected get thisAsNode(): Node;
1774
1790
  constructor(green: green.TranslationTypeParameterList, rangeStart: number, parent: TranslationTypeParameterListParent);
@@ -2183,4 +2199,4 @@ export declare class TypeAnnotation extends BaseNode {
2183
2199
  constructor(green: green.TypeAnnotation, rangeStart: number, parent: TypeAnnotationParent);
2184
2200
  private createChildren;
2185
2201
  }
2186
- export type Node = SourceFile | PackageMemberDeclarationList | Keyword | PackageImportDirectiveList | SinglePackageImportDirective | PackageGroupImportDirective | PackageImportList | PackageImport | PackageName | NamedTypeSpecifier | UnionTypeSpecifier | IntersectionTypeSpecifier | ParenthesizedTypeSpecifier | NullableTypeSpecifier | AnonymousTypeSpecifier | InvalidTypeSpecifier | AnonymousFunctionTypeDeclaration | AnonymousStructuredTypeDeclaration | AnonymousVariantTypeDeclaration | TopLevelTranslationList | TranslationsDeclaration | PackageAliasTypeDeclaration | AliasTypeDeclarationBody | PackageMemberGroupDeclaration | PackageConstructorDeclaration | PackageEntryPointDeclaration | PackageFunctionDeclaration | PackageFunctionTypeDeclaration | FunctionTypeDeclarationBody | BaseTypeList | TypeMemberDeclarationList | TypeMemberDeclarationBlock | PackageStructuredTypeDeclaration | StructuredTypeDeclarationBody | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | VariantTypeDeclarationBody | TypeExtensionDeclaration | ExtendedTypeClauseCommaList | ExtendedTypeClause | InvalidPackageMemberDeclaration | TypeMemberGroupDeclaration | ConstructorDeclaration | DestructorDeclaration | IndexedElementGetterDeclaration | IndexedElementSetterDeclaration | IndexParameterClause | DereferencedVariableGetterDeclaration | DereferencedVariableSetterDeclaration | MethodDeclaration | OperatorDeclaration | FieldDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | InvalidTypeMemberDeclaration | NestedFunctionDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ArrayLiteral | ArrayLiteralElementList | AssertionExpression | AssumptionExpression | AsExpression | BinaryExpression | FunctionBlockLiteral | ArgumentList | CallExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | FunctionLiteral | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | TextTemplateSpanList | TextTemplateSpan | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression | IdentifierExpression | GenericSpecializationExpression | DefaultMatchExpression | AssignmentStatement | StatementList | StatementBlock | FunctionBlock | BreakLoopStatement | ContinueLoopStatement | DisposeStatement | RunStatement | TryStatement | CatchClause | ErrorVariableDeclaration | FinallyClause | EmptyStatement | ErrorStatement | ImportantStatement | ExpressionStatement | EnumerationVariableList | ForStatement | IfStatement | ElseIfClauseList | ElseIfClause | ElseClause | InvalidStatement | NestedFunctionDeclarationStatement | LocalVariableDeclarationStatement | LoopStatement | ReturnStatement | CaseClauseList | SwitchStatement | MatchExpressionList | CaseClause | WhileStatement | YieldStatement | TranslationParameterList | TranslationParameterClause | ConstructorTranslation | IndexParameterTranslationClause | IndexerTranslation | TranslationTypeParameterList | TranslationTypeParameterClause | PackageFunctionTranslation | MethodTranslation | FunctionTypeTranslation | PackageImportTranslation | QualifiedName | PackageVariableTranslation | FieldOrVariantTranslation | TypeMemberTranslationList | TypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation | VariantDeclaration | TypeParameterDeclaration | ParameterDeclaration | Argument | TagList | Tag | ModifierList | Modifier | ParameterClause | ParameterList | TypeArgumentClause | TypeArgumentList | TypeParameterClause | TypeParameterList | TypeAnnotation | Token;
2202
+ export type Node = SourceFile | PackageMemberDeclarationList | Keyword | PackageImportDirectiveList | SinglePackageImportDirective | PackageGroupImportDirective | PackageImportList | PackageImport | PackageName | NamedTypeSpecifier | UnionTypeSpecifier | IntersectionTypeSpecifier | ParenthesizedTypeSpecifier | NullableTypeSpecifier | AnonymousTypeSpecifier | InvalidTypeSpecifier | AnonymousFunctionTypeDeclaration | AnonymousStructuredTypeDeclaration | AnonymousVariantTypeDeclaration | TopLevelTranslationList | TranslationsDeclaration | PackageAliasTypeDeclaration | AliasTypeDeclarationBody | PackageMemberGroupDeclaration | PackageConstructorDeclaration | PackageEntryPointDeclaration | PackageFunctionDeclaration | PackageFunctionTypeDeclaration | FunctionTypeDeclarationBody | BaseTypeList | TypeMemberDeclarationList | TypeMemberDeclarationBlock | PackageStructuredTypeDeclaration | StructuredTypeDeclarationBody | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | VariantTypeDeclarationBody | TypeExtensionDeclaration | ExtendedTypeClauseCommaList | ExtendedTypeClause | InvalidPackageMemberDeclaration | TypeMemberGroupDeclaration | ConstructorDeclaration | DestructorDeclaration | IndexedElementGetterDeclaration | IndexedElementSetterDeclaration | IndexParameterClause | DereferencedVariableGetterDeclaration | DereferencedVariableSetterDeclaration | MethodDeclaration | OperatorDeclaration | FieldDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | InvalidTypeMemberDeclaration | NestedFunctionDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ArrayLiteral | ArrayLiteralElementList | AssertionExpression | AssumptionExpression | AsExpression | BinaryExpression | FunctionBlockLiteral | ArgumentList | CallExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | FunctionLiteral | ParenthesizedExpression | WhenTernaryExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | TextTemplateSpanList | TextTemplateSpan | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression | IdentifierExpression | GenericSpecializationExpression | DefaultMatchExpression | AssignmentStatement | StatementList | StatementBlock | FunctionBlock | BreakLoopStatement | ContinueLoopStatement | DisposeStatement | RunStatement | TryStatement | CatchClause | ErrorVariableDeclaration | FinallyClause | EmptyStatement | ErrorStatement | ImportantStatement | ExpressionStatement | EnumerationVariableList | ForStatement | IfStatement | ElseIfClauseList | ElseIfClause | ElseClause | InvalidStatement | NestedFunctionDeclarationStatement | LocalVariableDeclarationStatement | LoopStatement | ReturnStatement | CaseClauseList | SwitchStatement | MatchExpressionList | CaseClause | WhileStatement | YieldStatement | TranslationParameterList | TranslationParameterClause | ConstructorTranslation | IndexParameterTranslationClause | IndexerTranslation | TranslationTypeParameterList | TranslationTypeParameterClause | PackageFunctionTranslation | MethodTranslation | FunctionTypeTranslation | PackageImportTranslation | QualifiedName | PackageVariableTranslation | FieldOrVariantTranslation | TypeMemberTranslationList | TypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation | VariantDeclaration | TypeParameterDeclaration | ParameterDeclaration | Argument | TagList | Tag | ModifierList | Modifier | ParameterClause | ParameterList | TypeArgumentClause | TypeArgumentList | TypeParameterClause | TypeParameterList | TypeAnnotation | Token;
@@ -13,6 +13,4 @@ export declare class TypeFactory {
13
13
  getIntersectionType(types: readonly Type[], reduce?: boolean): Type;
14
14
  getUnresolvedType(): UnresolvedType;
15
15
  private flattenAndExcludeDuplicateTypes;
16
- private removeBaseTypes;
17
- private removeDerivedTypes;
18
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artel/artc",
3
- "version": "0.6.25225",
3
+ "version": "0.6.25227",
4
4
  "description": "Артель Компилятор | Artel Compiler",
5
5
  "author": "Nezaboodka Team <contact@nezaboodka.com>",
6
6
  "license": "LGPL-3.0-or-later",
@@ -1,28 +0,0 @@
1
- import { Query, SearchName } from '../common/index.js';
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';
5
- import { IScope, NamedDeclaration, TypeOrContainerWithTypes } from './Scope.js';
6
- export declare class Lookup {
7
- private readonly _scopeChain;
8
- private readonly _hidingMatcher;
9
- constructor(_scopeChain: ScopeChain, _hidingMatcher: IEntityHidingMatcher);
10
- getTypesOrContainersWithTypes(): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
11
- getTypesOrContainersWithTypesByName(name: SearchName): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
12
- getNamedDeclarations(noInstanceMembers?: boolean): readonly FoundNamedDeclaration<NamedDeclaration>[];
13
- getNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean): readonly FoundNamedDeclaration<NamedDeclaration>[];
14
- getOperators(noInstanceMembers?: boolean): readonly FoundAnonymousDeclaration<types.Operator>[];
15
- getOperatorsByKind(kind: OperatorKind, noInstanceMembers?: boolean): readonly FoundAnonymousDeclaration<types.Operator>[];
16
- getTypeExtensionsByType(type: TypeEntity): readonly TypeExtensionEntity[];
17
- private checkTypeOrPackageDeclarationShadowing;
18
- private checkNamedDeclarationShadowing;
19
- private checkOperatorShadowing;
20
- }
21
- export declare class ScopeChain {
22
- private readonly _entry;
23
- private constructor();
24
- addFirst(scope: IScope): ScopeChain;
25
- toQuery(): Query<IScope>;
26
- enumerateScopes(): Iterable<IScope>;
27
- static withSingleScope(scope: IScope): ScopeChain;
28
- }
@@ -1,205 +0,0 @@
1
- import { Name, PackageLocale, SearchName } from '../common/index.js';
2
- import { EntityHidingLevel, FunctionEntity, IEntityHidingMatcher, NamedTypeEntity, OperatorKind, PackageAliasEntity, TypeEntity, TypeExtensionEntity, VariableEntity } from '../entities/index.js';
3
- import * as tree from '../tree/index.js';
4
- import * as types from '../types/index.js';
5
- import { Analyzer } from './Analyzer.js';
6
- import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
7
- import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
8
- import { Lookup } from './Lookup.js';
9
- import { TypeMemberLookup } from './TypeMemberLookup.js';
10
- export interface IScope {
11
- getTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
12
- getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
13
- getNamedDeclarations(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
14
- getNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
15
- getOperators(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
16
- getOperatorsByKind(kind: OperatorKind, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
17
- getTypeExtensionsByType(typeEntity: TypeEntity, hidingMatcher?: IEntityHidingMatcher): readonly TypeExtensionEntity[];
18
- }
19
- export type TypeOrContainerWithTypes = NamedDeclaration_type | NamedDeclaration_packageAlias | NamedDeclaration_packageNameSegment;
20
- export type NamedDeclaration = NamedDeclaration_function | NamedDeclaration_variable | NamedDeclaration_type | NamedDeclaration_packageAlias | NamedDeclaration_packageNameSegment;
21
- export declare class NamedDeclaration_function implements INamedDeclaration {
22
- readonly value: NamedDeclarationFunction;
23
- readonly kind = "function";
24
- constructor(value: NamedDeclarationFunction);
25
- getName(): Name;
26
- isHidden(): EntityHidingLevel | undefined;
27
- }
28
- export type NamedDeclarationFunction = NamedDeclarationFunction_entity | NamedDeclarationFunction_typeMember;
29
- export declare class NamedDeclarationFunction_entity implements INamedDeclarationFunction {
30
- readonly kind = "entity";
31
- private readonly _valueParameters;
32
- readonly value: FunctionEntity;
33
- constructor(value: FunctionEntity);
34
- getName(): Name;
35
- getEntity(): FunctionEntity;
36
- getTypeParameterArity(): number;
37
- isHidden(): EntityHidingLevel | undefined;
38
- getValueParameters(): readonly ValueParameter[];
39
- }
40
- export declare class NamedDeclarationFunction_typeMember implements INamedDeclarationFunction {
41
- readonly kind = "type-member";
42
- private readonly _valueParameters;
43
- readonly value: types.Method;
44
- constructor(value: types.Method);
45
- getName(): Name;
46
- getEntity(): FunctionEntity;
47
- getTypeParameterArity(): number;
48
- isHidden(): EntityHidingLevel | undefined;
49
- getValueParameters(): readonly ValueParameter[];
50
- }
51
- interface INamedDeclarationFunction {
52
- getName(): Name;
53
- getEntity(): FunctionEntity;
54
- getTypeParameterArity(): number;
55
- isHidden(): EntityHidingLevel | undefined;
56
- getValueParameters(): readonly ValueParameter[];
57
- }
58
- export type ValueParameter = ValueParameter_entity | ValueParameter_typeMember;
59
- export declare class ValueParameter_entity implements IValueParameter {
60
- readonly value: VariableEntity;
61
- readonly kind = "entity";
62
- constructor(value: VariableEntity);
63
- getName(): Name;
64
- getType(): types.Type;
65
- }
66
- export declare class ValueParameter_typeMember implements IValueParameter {
67
- readonly value: types.ValueParameter;
68
- readonly kind = "type-member";
69
- constructor(value: types.ValueParameter);
70
- getName(): Name;
71
- getType(): types.Type;
72
- }
73
- interface IValueParameter {
74
- getName(): Name;
75
- getType(): types.Type;
76
- }
77
- export declare class NamedDeclaration_variable implements INamedDeclaration {
78
- readonly value: NamedDeclarationVariable;
79
- readonly kind = "variable";
80
- constructor(value: NamedDeclarationVariable);
81
- getName(): Name;
82
- isHidden(): EntityHidingLevel | undefined;
83
- }
84
- export type NamedDeclarationVariable = NamedDeclarationVariable_entity | NamedDeclarationVariable_typeMember;
85
- export declare class NamedDeclarationVariable_entity implements INamedDeclarationVariable {
86
- readonly value: VariableEntity;
87
- readonly kind = "entity";
88
- constructor(value: VariableEntity);
89
- getName(): Name;
90
- getEntity(): VariableEntity;
91
- isHidden(): EntityHidingLevel | undefined;
92
- }
93
- export declare class NamedDeclarationVariable_typeMember implements INamedDeclarationVariable {
94
- readonly value: types.Variable;
95
- readonly kind = "type-member";
96
- constructor(value: types.Variable);
97
- getName(): Name;
98
- getEntity(): VariableEntity;
99
- isHidden(): EntityHidingLevel | undefined;
100
- }
101
- interface INamedDeclarationVariable {
102
- getName(): Name;
103
- getEntity(): VariableEntity;
104
- isHidden(): EntityHidingLevel | undefined;
105
- }
106
- export declare class NamedDeclaration_type implements INamedDeclaration {
107
- readonly value: NamedTypeEntity;
108
- readonly kind = "type";
109
- constructor(value: NamedTypeEntity);
110
- getName(): Name;
111
- isHidden(): EntityHidingLevel | undefined;
112
- }
113
- export declare class NamedDeclaration_packageAlias implements INamedDeclaration {
114
- readonly value: PackageAliasEntity;
115
- readonly kind = "package-alias";
116
- constructor(value: PackageAliasEntity);
117
- getName(): Name;
118
- isHidden(): EntityHidingLevel | undefined;
119
- }
120
- export declare class NamedDeclaration_packageNameSegment implements INamedDeclaration {
121
- readonly value: PackageNameTreeNode;
122
- readonly kind = "package-name-segment";
123
- constructor(value: PackageNameTreeNode);
124
- getName(): Name;
125
- isHidden(): EntityHidingLevel | undefined;
126
- }
127
- interface INamedDeclaration {
128
- getName(): Name;
129
- isHidden(): EntityHidingLevel | undefined;
130
- }
131
- export declare class SourceFileScope implements IScope {
132
- private readonly _sourceFileMembers;
133
- private readonly _containingPackageMemberLookup;
134
- private readonly _importedPackageMemberLookups;
135
- private readonly _packageNameSegments;
136
- private readonly _packageNameSegmentsByKey;
137
- private readonly _locale;
138
- private get packageNameSegmentsByKey();
139
- constructor(analyzer: Analyzer, node: tree.SourceFile);
140
- getTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
141
- getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
142
- getNamedDeclarations(_noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
143
- getNamedDeclarationsByName(name: SearchName, _noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
144
- getOperators(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
145
- getOperatorsByKind(_kind: OperatorKind, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
146
- getTypeExtensionsByType(type: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
147
- private convertPackageMemberToNamedDeclaration;
148
- private convertPackageAliasToTypeOrContainerWithTypes;
149
- private convertPackageMemberToTypeOrContainerWithTypes;
150
- private convertPackageAliasToNamedDeclaration;
151
- private checkTypeOrContainerWithTypesShadowing;
152
- private checkNamedDeclarationShadowing;
153
- }
154
- export declare class GenericScope implements IScope {
155
- private readonly _namedDeclarations;
156
- private readonly _typeOrContainerWithTypes;
157
- private readonly _typeExtensionEntities;
158
- private readonly _locale;
159
- private readonly _namedDeclarationsByName;
160
- private readonly _typesOrContainerWithTypesByName;
161
- private get namedDeclarationsByName();
162
- private get typesOrContainerWithTypesByName();
163
- constructor(namedDeclarations: readonly NamedDeclaration[], typeExtensionEntities: readonly TypeExtensionEntity[], locale: PackageLocale);
164
- getTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
165
- getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
166
- getNamedDeclarations(_noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
167
- getNamedDeclarationsByName(name: SearchName, _noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
168
- getOperators(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
169
- getOperatorsByKind(_kind: OperatorKind, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
170
- getTypeExtensionsByType(typeEntity: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
171
- private checkHiding;
172
- }
173
- export declare class ParameterDeclarationsScope implements IScope {
174
- private readonly _analyzer;
175
- private readonly _node;
176
- private readonly _namedDeclarations;
177
- private readonly _namedDeclarationsByName;
178
- private _locale;
179
- private get namedDeclarations();
180
- private get namedDeclarationsByName();
181
- private get locale();
182
- constructor(analyzer: Analyzer, node: tree.ParameterList);
183
- getTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
184
- getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
185
- getNamedDeclarations(_noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
186
- getNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
187
- getOperators(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
188
- getOperatorsByKind(_kind: OperatorKind, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
189
- getTypeExtensionsByType(typeEntity: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
190
- private checkHiding;
191
- }
192
- export declare class TypeWithMembersOrExtensionBodyScope implements IScope {
193
- private readonly _memberLookup;
194
- private readonly _typeExtensionsLookup;
195
- constructor(_memberLookup: TypeMemberLookup, _typeExtensionsLookup: Lookup);
196
- getTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
197
- getTypesOrContainersWithTypesByName(_name: SearchName, _hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
198
- getNamedDeclarations(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
199
- getNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
200
- getOperators(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
201
- getOperatorsByKind(kind: OperatorKind, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
202
- getTypeExtensionsByType(_typeEntity: TypeEntity, _hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
203
- private convertNamedMember;
204
- }
205
- export {};