@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.
Files changed (68) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +12 -56
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +204 -109
  5. package/build/{chunk-VRQPLLYS.js → chunk-5GSDYTF6.js} +6405 -5358
  6. package/build/{chunk-YNR2KYMJ.js → chunk-F5OW64UA.js} +3 -3
  7. package/build/{chunk-MHPX52MT.js → chunk-FHJJX7JY.js} +3 -3
  8. package/build/types/analysis/Analyzer.d.ts +32 -71
  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/DeclarationsUsageCounter.d.ts +8 -3
  12. package/build/types/analysis/DiagnosticCollector.d.ts +15 -5
  13. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +6 -6
  14. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +3 -3
  15. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +9 -9
  16. package/build/types/analysis/NamedTypeResolver.d.ts +3 -2
  17. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +3 -2
  18. package/build/types/analysis/NodeTypeUtils.d.ts +3 -2
  19. package/build/types/analysis/PackageMemberNameConflictsValidator.d.ts +24 -0
  20. package/build/types/analysis/SourceFileMembers.d.ts +6 -1
  21. package/build/types/analysis/SourcePackageMembersCreator.d.ts +2 -1
  22. package/build/types/analysis/TagMeaning.d.ts +3 -2
  23. package/build/types/analysis/TypeInferrer.d.ts +2 -0
  24. package/build/types/analysis/TypeMemberLookup.d.ts +11 -11
  25. package/build/types/analysis/TypeNarrower.d.ts +0 -69
  26. package/build/types/analysis/control-flow/GraphBuilder.d.ts +6 -2
  27. package/build/types/analysis/control-flow/NarrowableReference.d.ts +73 -0
  28. package/build/types/analysis/control-flow/Nodes.d.ts +9 -0
  29. package/build/types/analysis/control-flow/index.d.ts +1 -0
  30. package/build/types/analysis/semantic-context/Declarations.d.ts +117 -0
  31. package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +22 -0
  32. package/build/types/analysis/semantic-context/SemanticContext.d.ts +13 -0
  33. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +168 -0
  34. package/build/types/analysis/semantic-context/SemanticContextBasedEntityHidingMatcher.d.ts +14 -0
  35. package/build/types/analysis/semantic-context/SemanticContextBuilder.d.ts +84 -0
  36. package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +45 -0
  37. package/build/types/analysis/semantic-context/SemanticContextWithParent.d.ts +9 -0
  38. package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +42 -0
  39. package/build/types/analysis/semantic-context/SpecialLocalDeclarationsBuilder.d.ts +23 -0
  40. package/build/types/analysis/semantic-context/SubprogramBodyAndParametersSemanticContext.d.ts +89 -0
  41. package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +114 -0
  42. package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +94 -0
  43. package/build/types/analysis/semantic-context/index.d.ts +10 -0
  44. package/build/types/api/Api.d.ts +3 -5
  45. package/build/types/common/Cached.d.ts +1 -0
  46. package/build/types/common/Errors.d.ts +2 -0
  47. package/build/types/common/Lazy.d.ts +4 -0
  48. package/build/types/common/Query.d.ts +2 -1
  49. package/build/types/common/WithDiagnostics.d.ts +4 -3
  50. package/build/types/common/index.d.ts +1 -0
  51. package/build/types/diagnostic/DiagnosticCode.d.ts +89 -68
  52. package/build/types/emitter/IrBuilder.d.ts +1 -1
  53. package/build/types/emitter/Transformer.d.ts +1 -1
  54. package/build/types/entities/FunctionEntity.d.ts +2 -2
  55. package/build/types/entities/VariableEntity.d.ts +48 -19
  56. package/build/types/entities/index.d.ts +4 -0
  57. package/build/types/services/DefinitionService.d.ts +3 -0
  58. package/build/types/tree/KeywordKind.d.ts +31 -30
  59. package/build/types/tree/NodeKind.d.ts +1 -1
  60. package/build/types/tree/green/Nodes.d.ts +33 -29
  61. package/build/types/tree/red/Nodes.d.ts +25 -24
  62. package/build/types/types/TypeFactory.d.ts +0 -2
  63. package/package.json +1 -1
  64. package/build/types/analysis/Lookup.d.ts +0 -28
  65. package/build/types/analysis/Scope.d.ts +0 -205
  66. package/build/types/analysis/SemanticContext.d.ts +0 -367
  67. package/build/types/analysis/SemanticContextBuilder.d.ts +0 -59
  68. package/build/types/analysis/StatementBlockScopeBuilder.d.ts +0 -26
@@ -31,6 +31,7 @@ export declare class PackageMemberDeclarationList extends BaseNode {
31
31
  export type Identifier = Token<TokenKind.Identifier>;
32
32
  export type Comma = Token<TokenKind.Comma>;
33
33
  export type Semicolon = Token<TokenKind.Semicolon>;
34
+ export type IdentifierListElement = Identifier | Comma;
34
35
  export declare class Keyword<TKind extends KeywordKind = KeywordKind> extends BaseNode {
35
36
  readonly keywordKind: TKind;
36
37
  readonly isMissing: boolean;
@@ -919,7 +920,8 @@ export declare class EnumerationVariableDeclaration extends BaseNode {
919
920
  constructor(name: Identifier);
920
921
  toRed(rangeStart: number, parent: red.EnumerationVariableDeclarationParent): red.EnumerationVariableDeclaration;
921
922
  }
922
- 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;
923
+ export type Expression = ArrayLiteral | AsExpression | AssertionExpression | AssumptionExpression | BinaryExpression | FunctionBlockLiteral | CallExpression | IdentifierExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | FunctionLiteral | ParenthesizedExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | GenericSpecializationExpression | DefaultMatchExpression | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression;
924
+ export type ExpressionListElement = Expression | Comma;
923
925
  export declare class ArrayLiteral extends BaseNode {
924
926
  readonly kind = NodeKind.ArrayLiteral;
925
927
  readonly children: readonly [
@@ -934,13 +936,12 @@ export declare class ArrayLiteral extends BaseNode {
934
936
  constructor(openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, elementList: ArrayLiteralElementList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>);
935
937
  toRed(rangeStart: number, parent: red.ExpressionParent): red.ArrayLiteral;
936
938
  }
937
- export type ArrayLiteralElementListElement = Expression | Comma;
938
939
  export declare class ArrayLiteralElementList extends BaseNode {
939
940
  readonly kind = NodeKind.ArrayLiteralElementList;
940
- readonly children: readonly ArrayLiteralElementListElement[];
941
- get elements(): readonly ArrayLiteralElementListElement[];
941
+ readonly children: readonly ExpressionListElement[];
942
+ get elements(): readonly ExpressionListElement[];
942
943
  protected get thisAsNode(): Node;
943
- constructor(elements: readonly ArrayLiteralElementListElement[]);
944
+ constructor(elements: readonly ExpressionListElement[]);
944
945
  toRed(rangeStart: number, parent: red.ArrayLiteralElementListParent): red.ArrayLiteralElementList;
945
946
  }
946
947
  export declare class AssertionExpression extends BaseNode {
@@ -1116,23 +1117,29 @@ export declare class ParenthesizedExpression extends BaseNode {
1116
1117
  constructor(openParenthesisToken: Token<TokenKind.OpenParenthesis>, expression: Expression, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
1117
1118
  toRed(rangeStart: number, parent: red.ExpressionParent): red.ParenthesizedExpression;
1118
1119
  }
1119
- export declare class WhenTernaryExpression extends BaseNode {
1120
- readonly kind = NodeKind.WhenTernaryExpression;
1120
+ export declare class ConditionalExpression extends BaseNode {
1121
+ readonly kind = NodeKind.ConditionalExpression;
1121
1122
  readonly children: readonly [
1123
+ Keyword<KeywordKind.Cond>,
1124
+ Token<TokenKind.OpenParenthesis>,
1122
1125
  Expression,
1123
- Keyword<KeywordKind.When>,
1126
+ Comma,
1124
1127
  Expression,
1125
- Token<TokenKind.Colon>,
1126
- Expression
1128
+ Comma | undefined,
1129
+ Expression | undefined,
1130
+ Token<TokenKind.CloseParenthesis>
1127
1131
  ];
1128
- get firstExpression(): Expression;
1129
- get whenKeyword(): Keyword<KeywordKind.When>;
1132
+ get condKeyword(): Keyword<KeywordKind.Cond>;
1133
+ get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1130
1134
  get condition(): Expression;
1131
- get colonToken(): Token<TokenKind.Colon>;
1132
- get secondExpression(): Expression;
1135
+ get firstComma(): Comma;
1136
+ get firstExpression(): Expression;
1137
+ get secondComma(): Comma | undefined;
1138
+ get secondExpression(): Expression | undefined;
1139
+ get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1133
1140
  protected get thisAsNode(): Node;
1134
- constructor(firstExpression: Expression, whenKeyword: Keyword<KeywordKind.When>, condition: Expression, colonToken: Token<TokenKind.Colon>, secondExpression: Expression);
1135
- toRed(rangeStart: number, parent: red.ExpressionParent): red.WhenTernaryExpression;
1141
+ constructor(condKeyword: Keyword<KeywordKind.Cond>, openParenthesisToken: Token<TokenKind.OpenParenthesis>, condition: Expression, firstComma: Comma, firstExpression: Expression, secondComma: Comma | undefined, secondExpression: Expression | undefined, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
1142
+ toRed(rangeStart: number, parent: red.ExpressionParent): red.ConditionalExpression;
1136
1143
  }
1137
1144
  export declare class PrefixUnaryExpression extends BaseNode {
1138
1145
  readonly kind = NodeKind.PrefixUnaryExpression;
@@ -1650,13 +1657,12 @@ export declare class SwitchStatement extends BaseNode {
1650
1657
  constructor(switchKeyword: Keyword<KeywordKind.Switch>, expression: Expression, caseClauseList: CaseClauseList);
1651
1658
  toRed(rangeStart: number, parent: red.SwitchStatementParent): red.SwitchStatement;
1652
1659
  }
1653
- export type MatchExpressionListElement = Expression | Comma;
1654
1660
  export declare class MatchExpressionList extends BaseNode {
1655
1661
  readonly kind = NodeKind.MatchExpressionList;
1656
- readonly children: readonly MatchExpressionListElement[];
1657
- get elements(): readonly MatchExpressionListElement[];
1662
+ readonly children: readonly ExpressionListElement[];
1663
+ get elements(): readonly ExpressionListElement[];
1658
1664
  protected get thisAsNode(): Node;
1659
- constructor(elements: readonly MatchExpressionListElement[]);
1665
+ constructor(elements: readonly ExpressionListElement[]);
1660
1666
  toRed(rangeStart: number, parent: red.MatchExpressionListParent): red.MatchExpressionList;
1661
1667
  }
1662
1668
  export declare class CaseClause extends BaseNode {
@@ -1700,13 +1706,12 @@ export declare class YieldStatement extends BaseNode {
1700
1706
  toRed(rangeStart: number, parent: red.StatementParent): red.YieldStatement;
1701
1707
  }
1702
1708
  export type TopLevelTranslation = PackageImportTranslation | PackageVariableTranslation | PackageFunctionTranslation | TypeTranslation | FunctionTypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation;
1703
- export type TranslationParameterListElement = Identifier | Comma;
1704
1709
  export declare class TranslationParameterList extends BaseNode {
1705
1710
  readonly kind = NodeKind.TranslationParameterList;
1706
- readonly children: readonly TranslationParameterListElement[];
1707
- get elements(): readonly TranslationParameterListElement[];
1711
+ readonly children: readonly IdentifierListElement[];
1712
+ get elements(): readonly IdentifierListElement[];
1708
1713
  protected get thisAsNode(): Node;
1709
- constructor(elements: readonly TranslationParameterListElement[]);
1714
+ constructor(elements: readonly IdentifierListElement[]);
1710
1715
  toRed(rangeStart: number, parent: red.TranslationParameterListParent): red.TranslationParameterList;
1711
1716
  }
1712
1717
  export declare class TranslationParameterClause extends BaseNode {
@@ -1767,13 +1772,12 @@ export declare class IndexerTranslation extends BaseNode {
1767
1772
  constructor(sourceParameterClause: IndexParameterTranslationClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedParameterClause: IndexParameterTranslationClause);
1768
1773
  toRed(rangeStart: number, parent: red.TypeMemberTranslationParent): red.IndexerTranslation;
1769
1774
  }
1770
- export type TranslationTypeParameterListElement = Identifier | Comma;
1771
1775
  export declare class TranslationTypeParameterList extends BaseNode {
1772
1776
  readonly kind = NodeKind.TranslationTypeParameterList;
1773
- readonly children: readonly TranslationTypeParameterListElement[];
1774
- get elements(): readonly TranslationTypeParameterListElement[];
1777
+ readonly children: readonly IdentifierListElement[];
1778
+ get elements(): readonly IdentifierListElement[];
1775
1779
  protected get thisAsNode(): Node;
1776
- constructor(elements: readonly TranslationTypeParameterListElement[]);
1780
+ constructor(elements: readonly IdentifierListElement[]);
1777
1781
  toRed(rangeStart: number, parent: red.TranslationTypeParameterListParent): red.TranslationTypeParameterList;
1778
1782
  }
1779
1783
  export declare class TranslationTypeParameterClause extends BaseNode {
@@ -2183,4 +2187,4 @@ export declare class TypeAnnotation extends BaseNode {
2183
2187
  constructor(colonToken: Token<TokenKind.Colon>, typeSpecifier: TypeSpecifier);
2184
2188
  toRed(rangeStart: number, parent: red.TypeAnnotationParent): red.TypeAnnotation;
2185
2189
  }
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;
2190
+ 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 | 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;
@@ -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 | 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 | 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);
@@ -1074,19 +1075,22 @@ export declare class ParenthesizedExpression extends BaseNode {
1074
1075
  constructor(green: green.ParenthesizedExpression, rangeStart: number, parent: ExpressionParent);
1075
1076
  private createChildren;
1076
1077
  }
1077
- export declare class WhenTernaryExpression extends BaseNode {
1078
- readonly kind = NodeKind.WhenTernaryExpression;
1079
- readonly green: green.WhenTernaryExpression;
1078
+ export declare class ConditionalExpression extends BaseNode {
1079
+ readonly kind = NodeKind.ConditionalExpression;
1080
+ readonly green: green.ConditionalExpression;
1080
1081
  readonly parent: ExpressionParent;
1081
1082
  private _children;
1082
- get children(): readonly [Expression, Keyword<green.KeywordKind.When>, Expression, Token<green.TokenKind.Colon>, Expression];
1083
- get firstExpression(): Expression;
1084
- get whenKeyword(): Keyword<KeywordKind.When>;
1083
+ get children(): readonly [Keyword<green.KeywordKind.Cond>, Token<green.TokenKind.OpenParenthesis>, Expression, Comma, Expression, Comma | undefined, Expression | undefined, Token<green.TokenKind.CloseParenthesis>];
1084
+ get condKeyword(): Keyword<KeywordKind.Cond>;
1085
+ get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1085
1086
  get condition(): Expression;
1086
- get colonToken(): Token<TokenKind.Colon>;
1087
- get secondExpression(): Expression;
1087
+ get firstComma(): Comma;
1088
+ get firstExpression(): Expression;
1089
+ get secondComma(): Comma | undefined;
1090
+ get secondExpression(): Expression | undefined;
1091
+ get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1088
1092
  protected get thisAsNode(): Node;
1089
- constructor(green: green.WhenTernaryExpression, rangeStart: number, parent: ExpressionParent);
1093
+ constructor(green: green.ConditionalExpression, rangeStart: number, parent: ExpressionParent);
1090
1094
  private createChildren;
1091
1095
  }
1092
1096
  export declare class PrefixUnaryExpression extends BaseNode {
@@ -1637,15 +1641,14 @@ export declare class SwitchStatement extends BaseNode {
1637
1641
  constructor(green: green.SwitchStatement, rangeStart: number, parent: SwitchStatementParent);
1638
1642
  private createChildren;
1639
1643
  }
1640
- export type MatchExpressionListElement = Expression | Comma;
1641
1644
  export type MatchExpressionListParent = CaseClause;
1642
1645
  export declare class MatchExpressionList extends BaseNode {
1643
1646
  readonly kind = NodeKind.MatchExpressionList;
1644
1647
  readonly green: green.MatchExpressionList;
1645
1648
  readonly parent: MatchExpressionListParent;
1646
1649
  private _children;
1647
- get children(): readonly MatchExpressionListElement[];
1648
- get elements(): readonly MatchExpressionListElement[];
1650
+ get children(): readonly ExpressionListElement[];
1651
+ get elements(): readonly ExpressionListElement[];
1649
1652
  get matchExpressions(): Query<Expression>;
1650
1653
  protected get thisAsNode(): Node;
1651
1654
  constructor(green: green.MatchExpressionList, rangeStart: number, parent: MatchExpressionListParent);
@@ -1691,15 +1694,14 @@ export declare class YieldStatement extends BaseNode {
1691
1694
  private createChildren;
1692
1695
  }
1693
1696
  export type TopLevelTranslation = PackageImportTranslation | PackageVariableTranslation | PackageFunctionTranslation | TypeTranslation | FunctionTypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation;
1694
- export type TranslationParameterListElement = Identifier | Comma;
1695
1697
  export type TranslationParameterListParent = TranslationParameterClause | IndexParameterTranslationClause;
1696
1698
  export declare class TranslationParameterList extends BaseNode {
1697
1699
  readonly kind = NodeKind.TranslationParameterList;
1698
1700
  readonly green: green.TranslationParameterList;
1699
1701
  readonly parent: TranslationParameterListParent;
1700
1702
  private _children;
1701
- get children(): readonly TranslationParameterListElement[];
1702
- get elements(): readonly TranslationParameterListElement[];
1703
+ get children(): readonly IdentifierListElement[];
1704
+ get elements(): readonly IdentifierListElement[];
1703
1705
  get parameters(): Query<Identifier>;
1704
1706
  protected get thisAsNode(): Node;
1705
1707
  constructor(green: green.TranslationParameterList, rangeStart: number, parent: TranslationParameterListParent);
@@ -1760,15 +1762,14 @@ export declare class IndexerTranslation extends BaseNode {
1760
1762
  constructor(green: green.IndexerTranslation, rangeStart: number, parent: TypeMemberTranslationParent);
1761
1763
  private createChildren;
1762
1764
  }
1763
- export type TranslationTypeParameterListElement = Identifier | Comma;
1764
1765
  export type TranslationTypeParameterListParent = TranslationTypeParameterClause;
1765
1766
  export declare class TranslationTypeParameterList extends BaseNode {
1766
1767
  readonly kind = NodeKind.TranslationTypeParameterList;
1767
1768
  readonly green: green.TranslationTypeParameterList;
1768
1769
  readonly parent: TranslationTypeParameterListParent;
1769
1770
  private _children;
1770
- get children(): readonly TranslationTypeParameterListElement[];
1771
- get elements(): readonly TranslationTypeParameterListElement[];
1771
+ get children(): readonly IdentifierListElement[];
1772
+ get elements(): readonly IdentifierListElement[];
1772
1773
  get parameters(): Query<Identifier>;
1773
1774
  protected get thisAsNode(): Node;
1774
1775
  constructor(green: green.TranslationTypeParameterList, rangeStart: number, parent: TranslationTypeParameterListParent);
@@ -2183,4 +2184,4 @@ export declare class TypeAnnotation extends BaseNode {
2183
2184
  constructor(green: green.TypeAnnotation, rangeStart: number, parent: TypeAnnotationParent);
2184
2185
  private createChildren;
2185
2186
  }
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;
2187
+ 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 | 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.25226",
3
+ "version": "0.6.25228",
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 {};