@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
@@ -12,29 +12,30 @@ export declare enum DiagnosticCode {
12
12
  EnumerationVariableDeclarationExpected = 106,
13
13
  StatementExpected = 107,
14
14
  ExpressionExpected = 108,
15
- BaseTypeNameExpected = 109,
16
- TypeSpecifierExpected = 110,
17
- TypeBodyExpected = 111,
18
- FunctionCallArgumentExpected = 112,
19
- IndexedAccessArgumentExpected = 113,
20
- TagArgumentExpected = 114,
21
- TypeParameterExpected = 115,
22
- ParameterExpected = 116,
23
- CatchClauseOrFinallyClauseExpected = 117,
24
- PackageImportExpected = 118,
25
- DeclarationOrPackageImportExpected = 119,
26
- Expected0But1Found = 120,
27
- InvalidTextTemplateLiteral = 121,
28
- ModifierListExpected = 122,
29
- RunKeywordCreationKeywordOrModifierListExpected = 123,
30
- HidingLevelExpected = 124,
31
- ParameterNameCanContainOnlyOneBackQuote = 125,
32
- FieldNameCanContainOnlyTwoBackQuote = 126,
33
- BackQuotesCanOnlyBeUsedInParameterAndFieldNames = 127,
34
- NameThatMatchesKeywordMustBeEnclosedInSingleQuotes = 128,
35
- TagNameExpected = 129,
36
- TypeMemberTranslationExpected = 130,
37
- TranslationExpected = 131,
15
+ ExpressionCannotBeUsedAsStatement = 109,
16
+ BaseTypeNameExpected = 110,
17
+ TypeSpecifierExpected = 111,
18
+ TypeBodyExpected = 112,
19
+ FunctionCallArgumentExpected = 113,
20
+ IndexedAccessArgumentExpected = 114,
21
+ TagArgumentExpected = 115,
22
+ TypeParameterExpected = 116,
23
+ ParameterExpected = 117,
24
+ CatchClauseOrFinallyClauseExpected = 118,
25
+ PackageImportExpected = 119,
26
+ DeclarationOrPackageImportExpected = 120,
27
+ Expected0But1Found = 121,
28
+ InvalidTextTemplateLiteral = 122,
29
+ ModifierListExpected = 123,
30
+ RunKeywordCreationKeywordOrModifierListExpected = 124,
31
+ HidingLevelExpected = 125,
32
+ ParameterNameCanContainOnlyOneBackQuote = 126,
33
+ FieldNameCanContainOnlyTwoBackQuote = 127,
34
+ BackQuotesCanOnlyBeUsedInParameterAndFieldNames = 128,
35
+ NameThatMatchesKeywordMustBeEnclosedInSingleQuotes = 129,
36
+ TagNameExpected = 130,
37
+ TypeMemberTranslationExpected = 131,
38
+ TranslationExpected = 132,
38
39
  TypeCannotBeUsedAsValue = 201,
39
40
  PackageNameCannotBeUsedAsValue = 202,
40
41
  PackageAliasCannotBeUsedAsValue = 203,
@@ -67,12 +68,12 @@ export declare enum DiagnosticCode {
67
68
  CannotDetermineTargetTypeToCallTheConstructor = 230,
68
69
  AmbiguousAccess = 231,
69
70
  AmbiguousAccess0 = 232,
70
- CanNotAssignValueToContextVariable = 233,
71
+ CannotAssignValueToContextVariable = 233,
71
72
  ExpectedPackageNameOrAliasButFoundType = 234,
72
73
  TypeExpected = 235,
73
74
  NameOfTypeOrPackageNotFound = 236,
74
75
  TypeIsNotATag = 237,
75
- ExpressionOfType0CanNotBeUsedForEnumeration = 238,
76
+ ExpressionOfType0CannotBeUsedForEnumeration = 238,
76
77
  Operator0IsNotDefinedForTypes1And2 = 239,
77
78
  Operator0IsNotDefinedForType1 = 240,
78
79
  VariantMustHaveAssociatedValue = 241,
@@ -86,47 +87,67 @@ export declare enum DiagnosticCode {
86
87
  InterfacePackageVariablesMustNotHaveInitializers = 249,
87
88
  BodyIsMissing = 250,
88
89
  AbstractTypeMembersMustNotHaveBody = 251,
89
- AbstractVariablesMustNotHaveInitializers = 252,
90
- PackageIsAlreadyImportedInAnotherLanguage = 253,
91
- OnlySubprogramsWithReturnTypeCanReturnValue = 254,
92
- FunctionsUsingYieldStatementCanNotReturnValue = 255,
93
- YieldStatementCanNotBeUsedInAnonymousFunctions = 256,
94
- YieldStatementCanNotBeUsedHere = 257,
95
- FunctionsUsingYieldStatementMustHaveEnumerableAsReturnType = 258,
96
- YieldStatementCanNotBeUsedInTryStatementThatHasCatchClause = 259,
97
- YieldStatementCanNotBeUsedInFinallyClause = 260,
98
- SubprogramMustReturnValue = 261,
99
- ResultVariableCanNotBeUsedInFunctionsUsingYieldStatement = 262,
100
- TypeAliasReferencesItself = 263,
101
- TypeParameterHasCircularConstraint = 264,
102
- BaseTypeCausesInheritanceCycle = 265,
103
- OnlyGenericTypesAndFunctionsCanBeSpecialized = 266,
104
- Expected0TypeArguments = 267,
105
- ExpectedFrom0To1TypeArguments = 268,
106
- Type0IsNotAssignableToConstraint1 = 269,
107
- VariableIsDeclaredButNotUsed = 270,
108
- DefaultConstructorArgumentsMustBeNamed = 271,
109
- IncorrectBodyOfRedefinableAliasTypeMethod = 272,
110
- TheFollowingDeclarationsAreNotTranslated0 = 273,
111
- TheFollowingDeclarationAreNotTranslated0And1More = 274,
112
- OperatorFunctionMustNotBeStatic = 275,
113
- OperatorFunction0MustNotHaveParameters = 276,
114
- OperatorFunction0MustHaveOneParameter = 277,
115
- OperatorFunction0MustHaveNoMoreThanOneParameter = 278,
116
- CorrespondingRedefinableTypeMemberNotFound = 279,
117
- ConstructorCanNotBeRedefinable = 280,
118
- ConstructorCanNotBeRedefined = 281,
119
- AsyncFunctionCanOnlyBeCalledFromFunctionMarkedWithAsyncModifier = 282,
120
- TagNotFound = 283,
121
- TypeOrFunctionNameExpected = 284,
122
- PackageNameOrAliasExpected = 285,
123
- ExpressionCanBeNone = 286,
124
- NoneAwareAccessCanNotBeUsedOnTheLeftHandSideOfAssignmentStatement = 287,
125
- UnreachableCode = 288,
126
- CanNotFindTsLibDirectoryBaseSearchPaths0 = 301,
127
- SourceFile0IsNotPartOfThePackageAndWontBeLoaded = 302,
128
- ProgramWithoutMainPackageCanNotBeCompiled = 303,
129
- JsonConfigurationValidationError = 304,
130
- StandardPackage0NotFound = 305,
131
- Declaration0NotFoundInStandardPackage1 = 306
90
+ MembersOfAspectTypeMustNotHaveBody = 252,
91
+ DeclarationsMarkedWithBuiltIntoPlatformTagMustNotHaveBody = 253,
92
+ AbstractVariablesMustNotHaveInitializers = 254,
93
+ PackageIsAlreadyImportedInAnotherLanguage = 255,
94
+ OnlySubprogramsWithReturnTypeCanReturnValue = 256,
95
+ FunctionsUsingYieldStatementCannotReturnValue = 257,
96
+ YieldStatementCannotBeUsedInAnonymousFunctions = 258,
97
+ YieldStatementCannotBeUsedHere = 259,
98
+ FunctionsUsingYieldStatementMustHaveEnumerableAsReturnType = 260,
99
+ YieldStatementCannotBeUsedInTryStatementThatHasCatchClause = 261,
100
+ YieldStatementCannotBeUsedInFinallyClause = 262,
101
+ SubprogramMustReturnValue = 263,
102
+ ResultVariableCannotBeUsedInFunctionsUsingYieldStatement = 264,
103
+ TypeAliasReferencesItself = 265,
104
+ TypeParameterHasCircularConstraint = 266,
105
+ BaseTypeCausesInheritanceCycle = 267,
106
+ OnlyGenericTypesAndFunctionsCanBeSpecialized = 268,
107
+ Expected0TypeArguments = 269,
108
+ ExpectedFrom0To1TypeArguments = 270,
109
+ Type0IsNotAssignableToConstraint1 = 271,
110
+ VariableIsDeclaredButItsValueIsNeverRead = 272,
111
+ FunctionIsDeclaredButNotUsed = 273,
112
+ TypeParameterIsDeclaredButNotUsed = 274,
113
+ DefaultConstructorArgumentsMustBeNamed = 275,
114
+ IncorrectBodyOfRedefinableAliasTypeMethod = 276,
115
+ TheFollowingDeclarationsAreNotTranslated0 = 277,
116
+ TheFollowingDeclarationAreNotTranslated0And1More = 278,
117
+ OperatorFunctionMustNotBeStatic = 279,
118
+ OperatorFunction0MustNotHaveParameters = 280,
119
+ OperatorFunction0MustHaveOneParameter = 281,
120
+ OperatorFunction0MustHaveNoMoreThanOneParameter = 282,
121
+ CorrespondingRedefinableTypeMemberNotFound = 283,
122
+ ConstructorCannotBeDeclaredAsBasic = 284,
123
+ ConstructorCannotBeDeclaredAsRedefinable = 285,
124
+ ConstructorCannotBeDeclaredAsOverridden = 286,
125
+ AsyncFunctionCanOnlyBeCalledFromFunctionMarkedWithAsyncModifier = 287,
126
+ TagNotFound = 288,
127
+ TypeOrFunctionNameExpected = 289,
128
+ PackageNameOrAliasExpected = 290,
129
+ ExpressionCanBeNone = 291,
130
+ TargetVariableExpressionInTheAssignmentStatementCannotContainQuestionOperator = 292,
131
+ UnreachableCode = 293,
132
+ RecursionOccurredWhileCalculatingTheTypeOfTheExpression = 294,
133
+ RecursionOccurredWhileInferringTheTypeOfTheVariable = 295,
134
+ ScopeAlreadyContainsDeclarationWithTheSameName = 296,
135
+ ScopeAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 297,
136
+ ParameterName0ConflictsWithAutomaticallyGeneratedVariableName = 298,
137
+ PackageAlreadyContainsDeclarationWithTheSameName = 299,
138
+ PackageAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 300,
139
+ PackageAlreadyContainsTypeWithTheSameNameAndSameOrIntersectingTypeParameterCount = 301,
140
+ PackageAliasWithTheSameNameAlreadyExits = 302,
141
+ PackageCanHaveOnlyEntryPoint = 303,
142
+ PackageCanHaveOnlyOneConstructor = 304,
143
+ VariableIsUsedBeforeItsDeclaration = 305,
144
+ VariableMayNotHasBeenAssignedBeforeUsage = 306,
145
+ NotAllCodePathsReturnAValueAndResultLocalVariableMayNotHasBeenAssigned = 307,
146
+ WriteFunctionHasNoCorrespondingReadFunction = 308,
147
+ CannotFindTsLibDirectoryBaseSearchPaths0 = 401,
148
+ SourceFile0IsNotPartOfThePackageAndWontBeLoaded = 402,
149
+ ProgramWithoutMainPackageCannotBeCompiled = 403,
150
+ ErrorsInJsonConfigurationFile = 404,
151
+ StandardPackage0NotFound = 405,
152
+ Declaration0NotFoundInStandardPackage1 = 406
132
153
  }
@@ -91,7 +91,7 @@ export declare class IrBuilder {
91
91
  private convertIndexedAccess;
92
92
  private convertDereferencedVariableAccess;
93
93
  private buildReferenceExpression;
94
- private buildWhenTernaryExpression;
94
+ private buildConditionalExpression;
95
95
  private buildTextTemplateLiteral;
96
96
  private buildTokenExpression;
97
97
  private buildKeywordExpression;
@@ -95,7 +95,7 @@ export declare class Transformer {
95
95
  transformVariableAccessExpressionChildren(_expression: ir.VariableAccessExpression): void;
96
96
  transformFunctionAccessExpressionChildren(_expression: ir.FunctionAccessExpression): void;
97
97
  transformTypeAccessExpression(expression: ir.TypeAccessExpression): ir.TypeAccessExpression;
98
- transformInstanceVariableAccessExpressionChildren(expression: ir.FieldAccessExpression): void;
98
+ transformFieldAccessExpressionChildren(expression: ir.FieldAccessExpression): void;
99
99
  transformMethodAccessExpressionChildren(expression: ir.MethodAccessExpression): void;
100
100
  transformConstructorCallExpressionChildren(expression: ir.ConstructorCallExpression): void;
101
101
  transformInlineJsExpressionChildren(_expression: ir.InlineJsExpression): void;
@@ -1,7 +1,7 @@
1
1
  import { Tag } from '../analysis/Tags.js';
2
2
  import { Analyzer } from '../analysis/index.js';
3
3
  import { Name } from '../common/index.js';
4
- import { FunctionBlockLiteral, FunctionLiteral, NestedFunctionDeclaration, PackageFunctionDeclaration, MethodDeclaration } from '../tree/index.js';
4
+ import { NestedFunctionDeclaration, PackageFunctionDeclaration, MethodDeclaration } from '../tree/index.js';
5
5
  import * as types from '../types/index.js';
6
6
  import type { PackageEntity } from './index.js';
7
7
  import { DefinitionKind, Entity, EntityHidingLevel, EntityKind, ParameterVariableEntity, SubstitutionApplicationMode, TypeMemberEntityContainer, TypeParameterEntity } from './index.js';
@@ -40,7 +40,7 @@ interface IFunctionEntity {
40
40
  }
41
41
  export type FunctionEntityDefinition = {
42
42
  kind: DefinitionKind.Source;
43
- node: PackageFunctionDeclaration | MethodDeclaration | NestedFunctionDeclaration | FunctionLiteral | FunctionBlockLiteral;
43
+ node: PackageFunctionDeclaration | MethodDeclaration | NestedFunctionDeclaration;
44
44
  } | {
45
45
  kind: DefinitionKind.Intrinsic;
46
46
  } | {
@@ -1,7 +1,8 @@
1
+ import { SetterDeclaration, SubprogramDeclarationOrLiteral } from '../analysis/NodeTypeUtils.js';
1
2
  import { Tag } from '../analysis/Tags.js';
2
3
  import { Analyzer } from '../analysis/index.js';
3
4
  import { Lazy, Name } from '../common/index.js';
4
- import { EnumerationVariableDeclaration, ErrorVariableDeclaration, FieldDeclaration, FieldGetterDeclaration, FieldSetterDeclaration, FunctionLiteral, LocalVariableDeclaration, PackageVariableDeclaration, PackageVariableGetterDeclaration, PackageVariableSetterDeclaration, ParameterDeclaration, VariantDeclaration } from '../tree/index.js';
5
+ import * as tree from '../tree/index.js';
5
6
  import * as types from '../types/index.js';
6
7
  import type { Entity, IndexerEntity, PackageEntity } from './index.js';
7
8
  import { Entity as ActualEntity, ConstructorEntity, DefinitionKind, DestructorEntity, EntityHidingLevel, EntityKind, FunctionEntity, FunctionTypeEntity, GetterEntity, OperatorEntity, SetterEntity, TypeMemberEntityContainer } from './index.js';
@@ -28,8 +29,14 @@ export interface ParameterVariableEntity extends IVariableEntity {
28
29
  }
29
30
  export interface LocalVariableEntity extends IVariableEntity {
30
31
  readonly subkind: 'local';
32
+ getLocalVariableKind(): LocalVariableKind;
31
33
  getContainingEntity(): Entity;
32
34
  }
35
+ export declare enum LocalVariableKind {
36
+ Regular = 0,
37
+ Enumeration = 1,
38
+ Error = 2
39
+ }
33
40
  interface IVariableEntity {
34
41
  readonly kind: EntityKind.Variable;
35
42
  getName(): Name;
@@ -41,6 +48,7 @@ interface IVariableEntity {
41
48
  isHidden(): EntityHidingLevel | undefined;
42
49
  isSpecial(): SpecialVariableEntityInfo | undefined;
43
50
  getTags(): readonly Tag[];
51
+ ensureAllDiagnosticsReported?(): void;
44
52
  }
45
53
  export type ParameterVariableEntityContainer = ParameterVariableEntityContainer.Entity | ParameterVariableEntityContainer.FunctionLiteral;
46
54
  export declare namespace ParameterVariableEntityContainer {
@@ -67,29 +75,34 @@ export type VariableEntityDefinition = {
67
75
  export type SourceVariableEntityDefinition = SingleSourceVariableEntityDefinition | MultiSourceVariableEntityDefinition;
68
76
  export type SingleSourceVariableEntityDefinition = {
69
77
  kind: 'single';
70
- node: PackageVariableDeclaration | FieldDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ErrorVariableDeclaration | ParameterDeclaration | VariantDeclaration;
78
+ node: tree.PackageVariableDeclaration | tree.FieldDeclaration | tree.LocalVariableDeclaration | tree.EnumerationVariableDeclaration | tree.ErrorVariableDeclaration | tree.ParameterDeclaration | tree.VariantDeclaration;
71
79
  };
72
80
  export type MultiSourceVariableEntityDefinition = {
73
81
  kind: 'multi';
74
- nodes: ReadonlyArray<PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | ParameterDeclaration>;
82
+ nodes: ReadonlyArray<tree.PackageVariableGetterDeclaration | tree.PackageVariableSetterDeclaration | tree.FieldGetterDeclaration | tree.FieldSetterDeclaration | tree.ParameterDeclaration>;
75
83
  };
76
- export declare class ImplicitFunctionBlockParameterSpecialVariableEntityInfo {
77
- readonly targetTypeParameter: types.ValueParameter;
78
- readonly kind = "implicit-function-block-parameter";
79
- constructor(targetTypeParameter: types.ValueParameter);
80
- }
81
84
  export type SpecialVariableEntityInfo = ResultSpecialVariableEntityInfo | ValueSpecialVariableEntityInfo | BackingSpecialVariableEntityInfo | ImplicitFunctionBlockParameterSpecialVariableEntityInfo;
82
85
  export declare class ResultSpecialVariableEntityInfo {
86
+ readonly subprogramNode: SubprogramDeclarationOrLiteral;
83
87
  readonly kind = "result";
88
+ constructor(subprogramNode: SubprogramDeclarationOrLiteral);
84
89
  }
85
90
  export declare class ValueSpecialVariableEntityInfo {
91
+ readonly setterDeclaration: SetterDeclaration;
86
92
  readonly kind = "value";
93
+ constructor(setterDeclaration: SetterDeclaration);
87
94
  }
88
95
  export declare class BackingSpecialVariableEntityInfo {
89
96
  readonly computedVariable: PackageVariableEntity | FieldEntity;
90
97
  readonly kind = "backing";
91
98
  constructor(computedVariable: PackageVariableEntity | FieldEntity);
92
99
  }
100
+ export declare class ImplicitFunctionBlockParameterSpecialVariableEntityInfo {
101
+ readonly targetTypeParameter: types.ValueParameter;
102
+ readonly functionBlockLiteral: tree.FunctionBlockLiteral;
103
+ readonly kind = "implicit-function-block-parameter";
104
+ constructor(targetTypeParameter: types.ValueParameter, functionBlockLiteral: tree.FunctionBlockLiteral);
105
+ }
93
106
  export declare class PackageVariableDeclarationEntity implements PackageVariableEntity {
94
107
  private readonly _analyzer;
95
108
  private readonly _node;
@@ -97,8 +110,9 @@ export declare class PackageVariableDeclarationEntity implements PackageVariable
97
110
  readonly subkind = "package";
98
111
  private readonly _typeInferrer;
99
112
  private readonly _modifierFlags;
113
+ private _hasReportedAllDiagnostics;
100
114
  private get modifierFlags();
101
- constructor(_analyzer: Analyzer, _node: PackageVariableDeclaration);
115
+ constructor(_analyzer: Analyzer, _node: tree.PackageVariableDeclaration);
102
116
  getName(): Name;
103
117
  getContainingPackage(): PackageEntity;
104
118
  getType(): types.Type;
@@ -109,6 +123,7 @@ export declare class PackageVariableDeclarationEntity implements PackageVariable
109
123
  isHidden(): EntityHidingLevel | undefined;
110
124
  isSpecial(): SpecialVariableEntityInfo | undefined;
111
125
  getTags(): readonly Tag[];
126
+ ensureAllDiagnosticsReported(): void;
112
127
  }
113
128
  export declare class ComputedPackageVariableDeclarationEntity implements PackageVariableEntity {
114
129
  readonly kind = EntityKind.Variable;
@@ -119,7 +134,7 @@ export declare class ComputedPackageVariableDeclarationEntity implements Package
119
134
  private readonly _getterOrSetterDeclaration;
120
135
  private readonly _modifierFlags;
121
136
  private get modifierFlags();
122
- constructor(analyzer: Analyzer, getterDeclaration: PackageVariableGetterDeclaration | undefined, setterDeclaration: PackageVariableSetterDeclaration | undefined);
137
+ constructor(analyzer: Analyzer, getterDeclaration: tree.PackageVariableGetterDeclaration | undefined, setterDeclaration: tree.PackageVariableSetterDeclaration | undefined);
123
138
  getName(): Name;
124
139
  getType(): types.Type;
125
140
  getContainingPackage(): PackageEntity;
@@ -139,8 +154,9 @@ export declare class FieldDeclarationEntity implements FieldEntity {
139
154
  private readonly _typeInferrer;
140
155
  private readonly _overriddenMembers;
141
156
  private readonly _modifierFlags;
157
+ private _hasReportedAllDiagnostics;
142
158
  private get modifierFlags();
143
- constructor(analyzer: Analyzer, node: FieldDeclaration);
159
+ constructor(analyzer: Analyzer, node: tree.FieldDeclaration);
144
160
  getName(): Name;
145
161
  getType(): types.Type;
146
162
  getDefinition(): VariableEntityDefinition;
@@ -157,6 +173,7 @@ export declare class FieldDeclarationEntity implements FieldEntity {
157
173
  isAbstract(): boolean;
158
174
  getOverriddenMembers(): readonly types.Variable[];
159
175
  isVariant(): boolean;
176
+ ensureAllDiagnosticsReported(): void;
160
177
  }
161
178
  export declare class ComputedFieldDeclarationEntity implements FieldEntity {
162
179
  readonly kind = EntityKind.Variable;
@@ -168,7 +185,7 @@ export declare class ComputedFieldDeclarationEntity implements FieldEntity {
168
185
  private readonly _overriddenMembers;
169
186
  private readonly _modifierFlags;
170
187
  private get modifierFlags();
171
- constructor(analyzer: Analyzer, getterDeclaration: FieldGetterDeclaration | undefined, setterDeclaration: FieldSetterDeclaration | undefined);
188
+ constructor(analyzer: Analyzer, getterDeclaration: tree.FieldGetterDeclaration | undefined, setterDeclaration: tree.FieldSetterDeclaration | undefined);
172
189
  getName(): Name;
173
190
  getType(): types.Type;
174
191
  getContainer(): TypeMemberEntityContainer;
@@ -193,7 +210,7 @@ export declare class VariantDeclarationEntity implements FieldEntity {
193
210
  private readonly _node;
194
211
  private readonly _variantTypeDeclaration;
195
212
  private readonly _type;
196
- constructor(analyzer: Analyzer, node: VariantDeclaration);
213
+ constructor(analyzer: Analyzer, node: tree.VariantDeclaration);
197
214
  getName(): Name;
198
215
  getType(): types.Type;
199
216
  getDefinition(): VariableEntityDefinition;
@@ -217,7 +234,8 @@ export declare class LocalVariableDeclarationEntity implements LocalVariableEnti
217
234
  readonly kind = EntityKind.Variable;
218
235
  readonly subkind = "local";
219
236
  private readonly _typeInferrer;
220
- constructor(_analyzer: Analyzer, _node: LocalVariableDeclaration);
237
+ private _hasReportedAllDiagnostics;
238
+ constructor(_analyzer: Analyzer, _node: tree.LocalVariableDeclaration);
221
239
  getName(): Name;
222
240
  getType(): types.Type;
223
241
  getDefinition(): VariableEntityDefinition;
@@ -227,7 +245,9 @@ export declare class LocalVariableDeclarationEntity implements LocalVariableEnti
227
245
  isHidden(): EntityHidingLevel | undefined;
228
246
  isSpecial(): SpecialVariableEntityInfo | undefined;
229
247
  getTags(): readonly Tag[];
248
+ getLocalVariableKind(): LocalVariableKind;
230
249
  getContainingEntity(): Entity;
250
+ ensureAllDiagnosticsReported(): void;
231
251
  }
232
252
  export declare class EnumerationVariableDeclarationEntity implements LocalVariableEntity {
233
253
  private readonly _analyzer;
@@ -235,7 +255,8 @@ export declare class EnumerationVariableDeclarationEntity implements LocalVariab
235
255
  readonly kind = EntityKind.Variable;
236
256
  readonly subkind = "local";
237
257
  private readonly _typeInferrer;
238
- constructor(_analyzer: Analyzer, _node: EnumerationVariableDeclaration);
258
+ private _hasReportedAllDiagnostics;
259
+ constructor(_analyzer: Analyzer, _node: tree.EnumerationVariableDeclaration);
239
260
  getName(): Name;
240
261
  getType(): types.Type;
241
262
  getDefinition(): VariableEntityDefinition;
@@ -245,14 +266,16 @@ export declare class EnumerationVariableDeclarationEntity implements LocalVariab
245
266
  isHidden(): EntityHidingLevel | undefined;
246
267
  isSpecial(): SpecialVariableEntityInfo | undefined;
247
268
  getTags(): readonly Tag[];
269
+ getLocalVariableKind(): LocalVariableKind;
248
270
  getContainingEntity(): Entity;
271
+ ensureAllDiagnosticsReported(): void;
249
272
  }
250
273
  export declare class ErrorVariableDeclarationEntity implements LocalVariableEntity {
251
274
  private readonly _analyzer;
252
275
  private readonly _node;
253
276
  readonly kind = EntityKind.Variable;
254
277
  readonly subkind = "local";
255
- constructor(_analyzer: Analyzer, _node: ErrorVariableDeclaration);
278
+ constructor(_analyzer: Analyzer, _node: tree.ErrorVariableDeclaration);
256
279
  getName(): Name;
257
280
  getType(): types.Type;
258
281
  getDefinition(): VariableEntityDefinition;
@@ -262,6 +285,7 @@ export declare class ErrorVariableDeclarationEntity implements LocalVariableEnti
262
285
  isHidden(): EntityHidingLevel | undefined;
263
286
  isSpecial(): SpecialVariableEntityInfo | undefined;
264
287
  getTags(): readonly Tag[];
288
+ getLocalVariableKind(): LocalVariableKind;
265
289
  getContainingEntity(): Entity;
266
290
  }
267
291
  export declare class ParameterDeclarationEntity implements ParameterVariableEntity {
@@ -270,7 +294,8 @@ export declare class ParameterDeclarationEntity implements ParameterVariableEnti
270
294
  readonly kind = EntityKind.Variable;
271
295
  readonly subkind = "parameter";
272
296
  private readonly _typeInferrer;
273
- constructor(_analyzer: Analyzer, _node: ParameterDeclaration);
297
+ private _hasReportedAllDiagnostics;
298
+ constructor(_analyzer: Analyzer, _node: tree.ParameterDeclaration);
274
299
  getName(): Name;
275
300
  getType(): types.Type;
276
301
  getDefinition(): VariableEntityDefinition;
@@ -283,6 +308,7 @@ export declare class ParameterDeclarationEntity implements ParameterVariableEnti
283
308
  getContainer(): ParameterVariableEntityContainer;
284
309
  isOptional(): boolean;
285
310
  isVariadic(): boolean;
311
+ ensureAllDiagnosticsReported(): void;
286
312
  }
287
313
  export declare class IndexParameterDeclarationEntity implements ParameterVariableEntity {
288
314
  private readonly _analyzer;
@@ -293,7 +319,8 @@ export declare class IndexParameterDeclarationEntity implements ParameterVariabl
293
319
  readonly subkind = "parameter";
294
320
  private readonly _getterOrSetterParameterDeclaration;
295
321
  private readonly _typeInferrer;
296
- constructor(_analyzer: Analyzer, _getterParameterDeclaration: ParameterDeclaration | undefined, _setterParameterDeclaration: ParameterDeclaration | undefined, _indexerEntity: IndexerEntity);
322
+ private _hasReportedAllDiagnostics;
323
+ constructor(_analyzer: Analyzer, _getterParameterDeclaration: tree.ParameterDeclaration | undefined, _setterParameterDeclaration: tree.ParameterDeclaration | undefined, _indexerEntity: IndexerEntity);
297
324
  getName(): Name;
298
325
  getType(): types.Type;
299
326
  getDefinition(): VariableEntityDefinition;
@@ -306,6 +333,7 @@ export declare class IndexParameterDeclarationEntity implements ParameterVariabl
306
333
  getContainer(): ParameterVariableEntityContainer;
307
334
  isOptional(): boolean;
308
335
  isVariadic(): boolean;
336
+ ensureAllDiagnosticsReported(): void;
309
337
  }
310
338
  export declare class FunctionLiteralParameterDeclarationEntity implements ParameterVariableEntity {
311
339
  private readonly _analyzer;
@@ -314,7 +342,7 @@ export declare class FunctionLiteralParameterDeclarationEntity implements Parame
314
342
  readonly kind = EntityKind.Variable;
315
343
  readonly subkind = "parameter";
316
344
  private readonly _parameterIndex;
317
- constructor(_analyzer: Analyzer, _node: ParameterDeclaration, _functionLiteral: FunctionLiteral);
345
+ constructor(_analyzer: Analyzer, _node: tree.ParameterDeclaration, _functionLiteral: tree.FunctionLiteral);
318
346
  getName(): Name;
319
347
  getType(): types.Type;
320
348
  getDefinition(): VariableEntityDefinition;
@@ -424,6 +452,7 @@ export declare class IntrinsicLocalVariableEntity implements LocalVariableEntity
424
452
  isHidden(): EntityHidingLevel | undefined;
425
453
  isSpecial(): SpecialVariableEntityInfo | undefined;
426
454
  getTags(): readonly Tag[];
455
+ getLocalVariableKind(): LocalVariableKind;
427
456
  getContainingEntity(): Entity;
428
457
  }
429
458
  export {};
@@ -77,6 +77,10 @@ export type EntityWithTags = ConstructorEntity | DestructorEntity | IndexerEntit
77
77
  export declare function isEntityWithTags(entity: Entity): entity is EntityWithTags;
78
78
  export type TypeMemberEntity = FieldEntity | MethodEntity | OperatorEntity | ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity;
79
79
  export declare function isTypeMemberEntity(entity: Entity): entity is TypeMemberEntity;
80
+ export declare namespace TypeMemberEntity {
81
+ function isAspectTypeMember(entity: TypeMemberEntity): boolean;
82
+ function isStatic(entity: TypeMemberEntity): boolean;
83
+ }
80
84
  export declare function entityToStringDecorator<T extends {
81
85
  new (...args: any[]): Entity;
82
86
  }>(constructor: T): void;
@@ -11,6 +11,9 @@ export declare class DefinitionService {
11
11
  private getReferenceTargetSourceLocation;
12
12
  private getReferenceTargetEntity;
13
13
  private createLocalizationContextForSourceGeneration;
14
+ private getSourceLocationsOfVariableEntity;
15
+ private getSourceLocationsOfSpecialVariable;
16
+ private getSourceLocationOfSubprogramNode;
14
17
  }
15
18
  export declare class DefinitionsAndReferenceInfo {
16
19
  readonly definitionLocations: readonly SourceLocation[];
@@ -29,34 +29,35 @@ export declare enum KeywordKind {
29
29
  RepeatWhile = 27,
30
30
  Yield = 28,
31
31
  When = 29,
32
- Creation = 30,
33
- Catch = 31,
34
- BreakLoop = 32,
35
- ContinueLoop = 33,
36
- For = 34,
37
- Const = 35,
38
- Hidden = 36,
39
- Abstract = 37,
40
- Redefinable = 38,
41
- Redefined = 39,
42
- Async = 40,
43
- Static = 41,
44
- As = 42,
45
- Not = 43,
46
- Switch = 44,
47
- Case = 45,
48
- Dispose = 46,
49
- Destruction = 47,
50
- InHierarchy = 48,
51
- InFile = 49,
52
- InPackage = 50,
53
- InType = 51,
54
- Yes = 52,
55
- No = 53,
56
- Reference = 54,
57
- Translations = 55,
58
- Base = 56,
59
- None = 57,
60
- Get = 58,
61
- Set = 59
32
+ Cond = 30,
33
+ Creation = 31,
34
+ Catch = 32,
35
+ BreakLoop = 33,
36
+ ContinueLoop = 34,
37
+ For = 35,
38
+ Const = 36,
39
+ Hidden = 37,
40
+ Abstract = 38,
41
+ Redefinable = 39,
42
+ Redefined = 40,
43
+ Async = 41,
44
+ Static = 42,
45
+ As = 43,
46
+ Not = 44,
47
+ Switch = 45,
48
+ Case = 46,
49
+ Dispose = 47,
50
+ Destruction = 48,
51
+ InHierarchy = 49,
52
+ InFile = 50,
53
+ InPackage = 51,
54
+ InType = 52,
55
+ Yes = 53,
56
+ No = 54,
57
+ Reference = 55,
58
+ Translations = 56,
59
+ Base = 57,
60
+ None = 58,
61
+ Get = 59,
62
+ Set = 60
62
63
  }
@@ -75,7 +75,7 @@ export declare enum NodeKind {
75
75
  IsExpression = 73,
76
76
  FunctionLiteral = 74,
77
77
  ParenthesizedExpression = 75,
78
- WhenTernaryExpression = 76,
78
+ ConditionalExpression = 76,
79
79
  PrefixUnaryExpression = 77,
80
80
  MemberAccessExpression = 78,
81
81
  ReferenceExpression = 79,