brighterscript 1.0.0-alpha.17 → 1.0.0-alpha.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/DiagnosticMessages.d.ts +16 -1
- package/dist/DiagnosticMessages.js +15 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/Scope.d.ts +58 -8
- package/dist/Scope.js +128 -16
- package/dist/Scope.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +6 -4
- package/dist/astUtils/reflection.js +14 -6
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +10 -0
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +4 -1
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +2 -2
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +1 -0
- package/dist/files/BrsFile.js +65 -39
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +16 -3
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/globalCallables.js +79 -79
- package/dist/globalCallables.js.map +1 -1
- package/dist/interfaces.d.ts +43 -4
- package/dist/parser/Expression.d.ts +8 -3
- package/dist/parser/Expression.js +15 -5
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +5 -5
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +2 -5
- package/dist/parser/Parser.js +105 -105
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +4 -4
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +2 -2
- package/dist/parser/SGTypes.js +2 -2
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +52 -36
- package/dist/parser/Statement.js +109 -76
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +181 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js +7 -5
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/types/ArrayType.js +4 -1
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +3 -1
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.js +2 -1
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BooleanType.spec.js +3 -1
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/BscType.d.ts +1 -0
- package/dist/types/BscType.js +16 -1
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/CustomType.js +10 -0
- package/dist/types/CustomType.js.map +1 -1
- package/dist/types/DoubleType.js +2 -1
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DoubleType.spec.js +3 -1
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/FloatType.js +2 -1
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FloatType.spec.js +2 -0
- package/dist/types/FloatType.spec.js.map +1 -1
- package/dist/types/FunctionType.d.ts +3 -22
- package/dist/types/FunctionType.js +8 -68
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/IntegerType.js +2 -1
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/IntegerType.spec.js +3 -1
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.d.ts +13 -10
- package/dist/types/InterfaceType.js +33 -29
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.js +36 -16
- package/dist/types/InterfaceType.spec.js.map +1 -1
- package/dist/types/InvalidType.js +2 -1
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/InvalidType.spec.js +2 -0
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LazyType.js +4 -0
- package/dist/types/LazyType.js.map +1 -1
- package/dist/types/LongIntegerType.js +2 -1
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +2 -0
- package/dist/types/LongIntegerType.spec.js.map +1 -1
- package/dist/types/StringType.js +2 -1
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/StringType.spec.js +2 -0
- package/dist/types/StringType.spec.js.map +1 -1
- package/dist/types/TypedFunctionType.d.ts +28 -0
- package/dist/types/TypedFunctionType.js +88 -0
- package/dist/types/TypedFunctionType.js.map +1 -0
- package/dist/types/{FunctionType.spec.d.ts → TypedFunctionType.spec.d.ts} +0 -0
- package/dist/types/TypedFunctionType.spec.js +37 -0
- package/dist/types/TypedFunctionType.spec.js.map +1 -0
- package/dist/types/helpers.js +7 -2
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +2 -2
- package/dist/util.js +5 -5
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +14 -1
- package/dist/validators/ClassValidator.js +127 -80
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/FunctionType.spec.js +0 -35
- package/dist/types/FunctionType.spec.js.map +0 -1
- package/dist/types/UniversalFunctionType.d.ts +0 -9
- package/dist/types/UniversalFunctionType.js +0 -25
- package/dist/types/UniversalFunctionType.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## [1.0.0-alpha.18](https://github.com/rokucommunity/brighterscript/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) - 2022-03-24
|
|
10
|
+
### Added
|
|
11
|
+
- Adds Symbol Tables to InterfaceTypes - general refactor of Interfaces ([#496](https://github.com/rokucommunity/brighterscript/pull/496))
|
|
12
|
+
- all changes from [v0.46.0](#0460---2022-03-24)
|
|
13
|
+
### Changed
|
|
14
|
+
- Renamed `FunctionType` => `TypedFunctionType` and `UniversalFunctionType` => `FunctionType` ([#542](https://github.com/rokucommunity/brighterscript/pull/542))
|
|
15
|
+
### Fixed
|
|
16
|
+
- Prevent undefined showing up in type tracking ([#543](https://github.com/rokucommunity/brighterscript/pull/543))
|
|
17
|
+
- Better handling of object types ([#544](https://github.com/rokucommunity/brighterscript/pull/544))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## [0.46.0](https://github.com/rokucommunity/brighterscript/compare/v0.45.6...v0.46.0) - 2022-03-24
|
|
22
|
+
### Changed
|
|
23
|
+
- refactored try-catch statement to make the expressions and bodies easier to access via plugins. [#514](https://github.com/rokucommunity/brighterscript/pull/514)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
9
27
|
## [1.0.0-alpha.17](https://github.com/rokucommunity/brighterscript/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) - 2022-03-17
|
|
10
28
|
### Added
|
|
11
29
|
- `TypeExpression` which will eventually make it easier to parse all types across the project. ([#507](https://github.com/rokucommunity/brighterscript/pull/507)
|
|
@@ -655,8 +655,23 @@ export declare let DiagnosticMessages: {
|
|
|
655
655
|
code: number;
|
|
656
656
|
severity: 1;
|
|
657
657
|
};
|
|
658
|
+
duplicateInterfaceDeclaration: (scopeName: string, ifaceName: string) => {
|
|
659
|
+
message: string;
|
|
660
|
+
code: number;
|
|
661
|
+
severity: 1;
|
|
662
|
+
};
|
|
663
|
+
namespacedInterfaceCannotShareNameWithNonNamespacedInterface: (nonNamespacedInterfaceName: string) => {
|
|
664
|
+
message: string;
|
|
665
|
+
code: number;
|
|
666
|
+
severity: 1;
|
|
667
|
+
};
|
|
668
|
+
classCannotShareNamewithInterface: (className: string) => {
|
|
669
|
+
message: string;
|
|
670
|
+
code: number;
|
|
671
|
+
severity: 1;
|
|
672
|
+
};
|
|
658
673
|
};
|
|
659
|
-
export declare const DiagnosticCodeMap: Record<"genericParserMessage" | "callToUnknownFunction" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "xmlGenericParseError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifierAfterKeyword" | "missingCallableKeyword" | "expectedValidTypeToFollowAsKeyword" | "bsFeatureNotSupportedInBrsFiles" | "brsConfigJsonIsDeprecated" | "bsConfigJsonHasSyntaxErrors" | "namespacedClassCannotShareNamewithNonNamespacedClass" | "cannotUseOverrideKeywordOnConstructorFunction" | "importStatementMustBeDeclaredAtTopOfFile" | "methodDoesNotExistOnType" | "duplicateIdentifier" | "missingOverrideKeyword" | "duplicateClassDeclaration" | "classCouldNotBeFound" | "expectedClassFieldIdentifier" | "expressionIsNotConstructable" | "expectedKeyword" | "expectedLeftParenAfterCallable" | "expectedNameAfterCallableKeyword" | "expectedLeftParenAfterCallableName" | "tooManyCallableParameters" | "invalidFunctionReturnType" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "functionNameCannotEndWithTypeDesignator" | "callableBlockMissingEndKeyword" | "mismatchedEndCallableKeyword" | "expectedParameterNameButFound" | "functionParameterTypeIsInvalid" | "cannotUseReservedWordAsIdentifier" | "expectedOperatorAfterIdentifier" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "expectedInAfterForEach" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "libraryStatementMustBeDeclaredAtTopOfFile" | "expectedEndIfElseIfOrElseToTerminateThenBlock" | "expectedEndTryToTerminateTryCatch" | "expectedEndIfToCloseIfStatement" | "expectedStatementToFollowConditionalCondition" | "expectedStatementToFollowElse" | "consecutiveIncrementDecrementOperatorsAreNotAllowed" | "incrementDecrementOperatorsAreNotAllowedAsResultOfFunctionCall" | "xmlUnexpectedTag" | "expectedStatementOrFunctionCallButReceivedExpression" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "expectedRightSquareBraceAfterArrayOrObjectIndex" | "expectedPropertyNameAfterPeriod" | "tooManyCallableArguments" | "expectedRightParenAfterFunctionCallArguments" | "unmatchedLeftParenAfterExpression" | "unmatchedLeftSquareBraceAfterArrayLiteral" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "unmatchedLeftCurlyAfterAALiteral" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedStringAtEndOfLine" | "unterminatedStringAtEndOfFile" | "fractionalHexLiteralsAreNotSupported" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "constAliasDoesNotExist" | "invalidHashConstValue" | "referencedConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "expectedEqualAfterConstName" | "expectedHashElseIfToCloseHashIf" | "constNameCannotBeReservedWord" | "expectedIdentifier" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "classChildMemberDifferentMemberTypeThanAncestor" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "localVarSameNameAsClass" | "unnecessaryCodebehindScriptImport" | "expectedOpenParenToFollowCallfuncIdentifier" | "expectedToken" | "parameterMayNotHaveSameNameAsNamespace" | "variableMayNotHaveSameNameAsNamespace" | "unterminatedTemplateStringAtEndOfFile" | "unterminatedTemplateExpression" | "duplicateComponentName" | "functionCannotHaveSameNameAsClass" | "missingExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "missingLeftSquareBracketAfterDimIdentifier" | "missingRightSquareBracketAfterDimIdentifier" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "cannotFindType" | "enumValueMustBeType" | "enumValueIsRequired" | "unknownEnumValue" | "duplicateEnumDeclaration" | "argumentTypeMismatch", number>;
|
|
674
|
+
export declare const DiagnosticCodeMap: Record<"genericParserMessage" | "callToUnknownFunction" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "xmlGenericParseError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifierAfterKeyword" | "missingCallableKeyword" | "expectedValidTypeToFollowAsKeyword" | "bsFeatureNotSupportedInBrsFiles" | "brsConfigJsonIsDeprecated" | "bsConfigJsonHasSyntaxErrors" | "namespacedClassCannotShareNamewithNonNamespacedClass" | "cannotUseOverrideKeywordOnConstructorFunction" | "importStatementMustBeDeclaredAtTopOfFile" | "methodDoesNotExistOnType" | "duplicateIdentifier" | "missingOverrideKeyword" | "duplicateClassDeclaration" | "classCouldNotBeFound" | "expectedClassFieldIdentifier" | "expressionIsNotConstructable" | "expectedKeyword" | "expectedLeftParenAfterCallable" | "expectedNameAfterCallableKeyword" | "expectedLeftParenAfterCallableName" | "tooManyCallableParameters" | "invalidFunctionReturnType" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "functionNameCannotEndWithTypeDesignator" | "callableBlockMissingEndKeyword" | "mismatchedEndCallableKeyword" | "expectedParameterNameButFound" | "functionParameterTypeIsInvalid" | "cannotUseReservedWordAsIdentifier" | "expectedOperatorAfterIdentifier" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "expectedInAfterForEach" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "libraryStatementMustBeDeclaredAtTopOfFile" | "expectedEndIfElseIfOrElseToTerminateThenBlock" | "expectedEndTryToTerminateTryCatch" | "expectedEndIfToCloseIfStatement" | "expectedStatementToFollowConditionalCondition" | "expectedStatementToFollowElse" | "consecutiveIncrementDecrementOperatorsAreNotAllowed" | "incrementDecrementOperatorsAreNotAllowedAsResultOfFunctionCall" | "xmlUnexpectedTag" | "expectedStatementOrFunctionCallButReceivedExpression" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "expectedRightSquareBraceAfterArrayOrObjectIndex" | "expectedPropertyNameAfterPeriod" | "tooManyCallableArguments" | "expectedRightParenAfterFunctionCallArguments" | "unmatchedLeftParenAfterExpression" | "unmatchedLeftSquareBraceAfterArrayLiteral" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "unmatchedLeftCurlyAfterAALiteral" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedStringAtEndOfLine" | "unterminatedStringAtEndOfFile" | "fractionalHexLiteralsAreNotSupported" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "constAliasDoesNotExist" | "invalidHashConstValue" | "referencedConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "expectedEqualAfterConstName" | "expectedHashElseIfToCloseHashIf" | "constNameCannotBeReservedWord" | "expectedIdentifier" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "classChildMemberDifferentMemberTypeThanAncestor" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "localVarSameNameAsClass" | "unnecessaryCodebehindScriptImport" | "expectedOpenParenToFollowCallfuncIdentifier" | "expectedToken" | "parameterMayNotHaveSameNameAsNamespace" | "variableMayNotHaveSameNameAsNamespace" | "unterminatedTemplateStringAtEndOfFile" | "unterminatedTemplateExpression" | "duplicateComponentName" | "functionCannotHaveSameNameAsClass" | "missingExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "missingLeftSquareBracketAfterDimIdentifier" | "missingRightSquareBracketAfterDimIdentifier" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "cannotFindType" | "enumValueMustBeType" | "enumValueIsRequired" | "unknownEnumValue" | "duplicateEnumDeclaration" | "argumentTypeMismatch" | "duplicateInterfaceDeclaration" | "namespacedInterfaceCannotShareNameWithNonNamespacedInterface" | "classCannotShareNamewithInterface", number>;
|
|
660
675
|
export declare let diagnosticCodes: number[];
|
|
661
676
|
export interface DiagnosticInfo {
|
|
662
677
|
message: string;
|
|
@@ -659,6 +659,21 @@ exports.DiagnosticMessages = {
|
|
|
659
659
|
message: `Argument of type '${actualTypeString}' is not assignable to parameter of type '${expectedTypeString}'`,
|
|
660
660
|
code: 1128,
|
|
661
661
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
662
|
+
}),
|
|
663
|
+
duplicateInterfaceDeclaration: (scopeName, ifaceName) => ({
|
|
664
|
+
message: `Scope '${scopeName}' already contains an interface with name '${ifaceName}'`,
|
|
665
|
+
code: 1129,
|
|
666
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
667
|
+
}),
|
|
668
|
+
namespacedInterfaceCannotShareNameWithNonNamespacedInterface: (nonNamespacedInterfaceName) => ({
|
|
669
|
+
message: `Namespaced interface cannot have the same name as a non-namespaced interface '${nonNamespacedInterfaceName}'`,
|
|
670
|
+
code: 1130,
|
|
671
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
672
|
+
}),
|
|
673
|
+
classCannotShareNamewithInterface: (className) => ({
|
|
674
|
+
message: `Class cannot have the same name as interface '${className}'`,
|
|
675
|
+
code: 1131,
|
|
676
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
662
677
|
})
|
|
663
678
|
};
|
|
664
679
|
exports.DiagnosticCodeMap = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiagnosticMessages.js","sourceRoot":"","sources":["../src/DiagnosticMessages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DiagnosticMessages.js","sourceRoot":"","sources":["../src/DiagnosticMessages.ts"],"names":[],"mappings":"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"}
|
package/dist/Scope.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { CompletionItem, Position, Range } from 'vscode-languageserver';
|
|
2
2
|
import { Location } from 'vscode-languageserver';
|
|
3
|
-
import type { CallableContainer, BsDiagnostic, BscFile, CallableContainerMap, FileLink } from './interfaces';
|
|
3
|
+
import type { CallableContainer, BsDiagnostic, BscFile, CallableContainerMap, FileLink, InheritableStatement, InheritableType } from './interfaces';
|
|
4
4
|
import type { Program } from './Program';
|
|
5
|
-
import type { NamespaceStatement, Statement, FunctionStatement, ClassStatement, EnumStatement } from './parser/Statement';
|
|
5
|
+
import type { NamespaceStatement, Statement, FunctionStatement, ClassStatement, InterfaceStatement, EnumStatement } from './parser/Statement';
|
|
6
6
|
import type { FunctionExpression, NewExpression } from './parser/Expression';
|
|
7
7
|
import { ParseMode } from './parser/Parser';
|
|
8
8
|
import { Cache } from './Cache';
|
|
@@ -10,7 +10,6 @@ import type { BrsFile } from './files/BrsFile';
|
|
|
10
10
|
import type { DependencyGraph, DependencyChangedEvent } from './DependencyGraph';
|
|
11
11
|
import { SymbolTable } from './SymbolTable';
|
|
12
12
|
import type { BscType, TypeContext } from './types/BscType';
|
|
13
|
-
import type { CustomType } from './types/CustomType';
|
|
14
13
|
/**
|
|
15
14
|
* A class to keep track of all declarations within a given scope (like source scope, component scope)
|
|
16
15
|
*/
|
|
@@ -38,6 +37,18 @@ export declare class Scope {
|
|
|
38
37
|
* @param containingNamespace - The namespace used to resolve relative class names. (i.e. the namespace around the current statement trying to find a class)
|
|
39
38
|
*/
|
|
40
39
|
getClass(className: string, containingNamespace?: string): ClassStatement;
|
|
40
|
+
/**
|
|
41
|
+
* Get the interface with the specified name.
|
|
42
|
+
* @param ifaceName - The interface name, including the namespace of the interface if possible
|
|
43
|
+
* @param containingNamespace - The namespace used to resolve relative interface names. (i.e. the namespace around the current statement trying to find a interface)
|
|
44
|
+
*/
|
|
45
|
+
getInterface(ifaceName: string, containingNamespace?: string): InterfaceStatement;
|
|
46
|
+
/**
|
|
47
|
+
* Get either the class or interface, etc. with a given name
|
|
48
|
+
* @param name - The name, including the namespace of the interface if possible
|
|
49
|
+
* @param containingNamespace - The namespace used to resolve relative names. (i.e. the namespace around the current statement trying to find the interface or class)
|
|
50
|
+
*/
|
|
51
|
+
getNamedTypeStatement(name: string, containingNamespace?: string): InheritableStatement;
|
|
41
52
|
/**
|
|
42
53
|
* A cache of a map of tokens -> TokenSymbolLookups, which are the result of getSymbolTypeFromToken()
|
|
43
54
|
* Sometimes the lookup of symbols may take a while if there are lazyTypes or multiple tokens in a chain
|
|
@@ -51,23 +62,62 @@ export declare class Scope {
|
|
|
51
62
|
*/
|
|
52
63
|
getClassFileLink(className: string, containingNamespace?: string): FileLink<ClassStatement>;
|
|
53
64
|
/**
|
|
54
|
-
*
|
|
55
|
-
* @param
|
|
65
|
+
* Get an interface and its containing file by the interface name
|
|
66
|
+
* @param ifaceName - The interface name, including the namespace of the interface if possible
|
|
67
|
+
* @param containingNamespace - The namespace used to resolve relative interface names. (i.e. the namespace around the current statement trying to find a interface)
|
|
68
|
+
*/
|
|
69
|
+
getInterfaceFileLink(ifaceName: string, containingNamespace?: string): FileLink<InterfaceStatement>;
|
|
70
|
+
/**
|
|
71
|
+
* Get a InheritableStatement and its containing file by the name of the interface or class
|
|
72
|
+
* @param name - The name of the interface or class, including the namespace of the class if possible
|
|
73
|
+
* @param containingNamespace - The namespace used to resolve relative names. (i.e. the namespace around the current statement trying to find a class)
|
|
56
74
|
*/
|
|
75
|
+
getFileLink(name: string, containingNamespace?: string): FileLink<InheritableStatement>;
|
|
76
|
+
/**
|
|
77
|
+
* Gets the parent class of the given class
|
|
78
|
+
* @param klass - The class to get the parent of, if possible
|
|
79
|
+
*/
|
|
57
80
|
getParentClass(klass: ClassStatement): ClassStatement;
|
|
81
|
+
/**
|
|
82
|
+
* Gets the parent interface of the given interface
|
|
83
|
+
* @param iface - The interface to get the parent of, if possible
|
|
84
|
+
*/
|
|
85
|
+
getParentInterface(iface: InterfaceStatement): InterfaceStatement;
|
|
86
|
+
/**
|
|
87
|
+
* Gets the parent of an Interface or Class
|
|
88
|
+
* @param stmt - The class or interface to get the parent of, if possible
|
|
89
|
+
*/
|
|
90
|
+
getParentStatement(stmt: InheritableStatement): InheritableStatement;
|
|
58
91
|
/**
|
|
59
92
|
* Tests if a class exists with the specified name
|
|
60
93
|
* @param className - the all-lower-case namespace-included class name
|
|
61
94
|
* @param namespaceName - the current namespace name
|
|
62
95
|
*/
|
|
63
96
|
hasClass(className: string, namespaceName?: string): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Tests if an interface exists with the specified name
|
|
99
|
+
* @param ifaceName - the all-lower-case namespace-included class name
|
|
100
|
+
* @param namespaceName - the current namespace name
|
|
101
|
+
*/
|
|
102
|
+
hasInterface(ifaceName: string, namespaceName?: string): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Tests if a class OR an interface, etc. exists with the specified name
|
|
105
|
+
* @param name - the all-lower-case namespace-included class or interface name
|
|
106
|
+
* @param namespaceName - the current namespace name
|
|
107
|
+
*/
|
|
108
|
+
hasNamedType(name: string, namespaceName?: string): boolean;
|
|
64
109
|
/**
|
|
65
110
|
* A dictionary of all classes in this scope. This includes namespaced classes always with their full name.
|
|
66
111
|
* The key is stored in lower case
|
|
67
112
|
*/
|
|
68
113
|
getClassMap(): Map<string, FileLink<ClassStatement>>;
|
|
69
|
-
getAncestorTypeListByContext(thisType: BscType, context?: TypeContext):
|
|
70
|
-
|
|
114
|
+
getAncestorTypeListByContext(thisType: BscType, context?: TypeContext): InheritableType[];
|
|
115
|
+
/**
|
|
116
|
+
* A dictionary of all Interfaces in this scope. This includes namespaced Interfaces always with their full name.
|
|
117
|
+
* The key is stored in lower case
|
|
118
|
+
*/
|
|
119
|
+
getInterfaceMap(): Map<string, FileLink<InterfaceStatement>>;
|
|
120
|
+
getAncestorTypeList(className: string, functionExpression?: FunctionExpression): InheritableType[];
|
|
71
121
|
/**
|
|
72
122
|
* A dictionary of all enums in this scope. This includes namespaced enums always with their full name.
|
|
73
123
|
* The key is stored in lower case
|
|
@@ -238,7 +288,7 @@ export declare class Scope {
|
|
|
238
288
|
/**
|
|
239
289
|
* @param className - The name of the class (including namespace if possible)
|
|
240
290
|
* @param callsiteNamespace - the name of the namespace where the call site resides (this is NOT the known namespace of the class).
|
|
241
|
-
* This is used to help resolve non-namespaced class names that reside in the same
|
|
291
|
+
* This is used to help resolve non-namespaced class names that reside in the same namespace as the call site.
|
|
242
292
|
*/
|
|
243
293
|
getClassHierarchy(className: string, callsiteNamespace?: string): FileLink<ClassStatement>[];
|
|
244
294
|
}
|
package/dist/Scope.js
CHANGED
|
@@ -54,6 +54,24 @@ class Scope {
|
|
|
54
54
|
var _a;
|
|
55
55
|
return (_a = this.getClassFileLink(className, containingNamespace)) === null || _a === void 0 ? void 0 : _a.item;
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Get the interface with the specified name.
|
|
59
|
+
* @param ifaceName - The interface name, including the namespace of the interface if possible
|
|
60
|
+
* @param containingNamespace - The namespace used to resolve relative interface names. (i.e. the namespace around the current statement trying to find a interface)
|
|
61
|
+
*/
|
|
62
|
+
getInterface(ifaceName, containingNamespace) {
|
|
63
|
+
var _a;
|
|
64
|
+
return (_a = this.getInterfaceFileLink(ifaceName, containingNamespace)) === null || _a === void 0 ? void 0 : _a.item;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get either the class or interface, etc. with a given name
|
|
68
|
+
* @param name - The name, including the namespace of the interface if possible
|
|
69
|
+
* @param containingNamespace - The namespace used to resolve relative names. (i.e. the namespace around the current statement trying to find the interface or class)
|
|
70
|
+
*/
|
|
71
|
+
getNamedTypeStatement(name, containingNamespace) {
|
|
72
|
+
var _a;
|
|
73
|
+
return (_a = this.getFileLink(name, containingNamespace)) === null || _a === void 0 ? void 0 : _a.item;
|
|
74
|
+
}
|
|
57
75
|
/**
|
|
58
76
|
* A cache of a map of tokens -> TokenSymbolLookups, which are the result of getSymbolTypeFromToken()
|
|
59
77
|
* Sometimes the lookup of symbols may take a while if there are lazyTypes or multiple tokens in a chain
|
|
@@ -78,11 +96,34 @@ class Scope {
|
|
|
78
96
|
return cls;
|
|
79
97
|
}
|
|
80
98
|
/**
|
|
81
|
-
*
|
|
82
|
-
* @param
|
|
99
|
+
* Get an interface and its containing file by the interface name
|
|
100
|
+
* @param ifaceName - The interface name, including the namespace of the interface if possible
|
|
101
|
+
* @param containingNamespace - The namespace used to resolve relative interface names. (i.e. the namespace around the current statement trying to find a interface)
|
|
83
102
|
*/
|
|
103
|
+
getInterfaceFileLink(ifaceName, containingNamespace) {
|
|
104
|
+
const lowerName = ifaceName === null || ifaceName === void 0 ? void 0 : ifaceName.toLowerCase();
|
|
105
|
+
const ifaceMap = this.getInterfaceMap();
|
|
106
|
+
let iface = ifaceMap.get(util_1.util.getFullyQualifiedClassName(lowerName, containingNamespace === null || containingNamespace === void 0 ? void 0 : containingNamespace.toLowerCase()));
|
|
107
|
+
//if we couldn't find the iface by its full namespaced name, look for a global class with that name
|
|
108
|
+
if (!iface) {
|
|
109
|
+
iface = ifaceMap.get(lowerName);
|
|
110
|
+
}
|
|
111
|
+
return iface;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get a InheritableStatement and its containing file by the name of the interface or class
|
|
115
|
+
* @param name - The name of the interface or class, including the namespace of the class if possible
|
|
116
|
+
* @param containingNamespace - The namespace used to resolve relative names. (i.e. the namespace around the current statement trying to find a class)
|
|
117
|
+
*/
|
|
118
|
+
getFileLink(name, containingNamespace) {
|
|
119
|
+
return this.getClassFileLink(name, containingNamespace) || this.getInterfaceFileLink(name, containingNamespace);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Gets the parent class of the given class
|
|
123
|
+
* @param klass - The class to get the parent of, if possible
|
|
124
|
+
*/
|
|
84
125
|
getParentClass(klass) {
|
|
85
|
-
if (klass === null || klass === void 0 ? void 0 : klass.
|
|
126
|
+
if (klass === null || klass === void 0 ? void 0 : klass.hasParent()) {
|
|
86
127
|
const lowerParentClassNames = klass.getPossibleFullParentNames().map(name => name.toLowerCase());
|
|
87
128
|
for (const lowerParentClassName of lowerParentClassNames) {
|
|
88
129
|
const foundParent = this.getClassMap().get(lowerParentClassName);
|
|
@@ -92,6 +133,33 @@ class Scope {
|
|
|
92
133
|
}
|
|
93
134
|
}
|
|
94
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Gets the parent interface of the given interface
|
|
138
|
+
* @param iface - The interface to get the parent of, if possible
|
|
139
|
+
*/
|
|
140
|
+
getParentInterface(iface) {
|
|
141
|
+
if (iface === null || iface === void 0 ? void 0 : iface.hasParent()) {
|
|
142
|
+
const lowerParentClassNames = iface.getPossibleFullParentNames().map(name => name.toLowerCase());
|
|
143
|
+
for (const lowerParentClassName of lowerParentClassNames) {
|
|
144
|
+
const foundParent = this.getInterfaceMap().get(lowerParentClassName);
|
|
145
|
+
if (foundParent) {
|
|
146
|
+
return foundParent.item;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Gets the parent of an Interface or Class
|
|
153
|
+
* @param stmt - The class or interface to get the parent of, if possible
|
|
154
|
+
*/
|
|
155
|
+
getParentStatement(stmt) {
|
|
156
|
+
if ((0, reflection_1.isInterfaceStatement)(stmt)) {
|
|
157
|
+
return this.getParentInterface(stmt);
|
|
158
|
+
}
|
|
159
|
+
else if ((0, reflection_1.isClassStatement)(stmt)) {
|
|
160
|
+
return this.getParentClass(stmt);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
95
163
|
/**
|
|
96
164
|
* Tests if a class exists with the specified name
|
|
97
165
|
* @param className - the all-lower-case namespace-included class name
|
|
@@ -100,6 +168,22 @@ class Scope {
|
|
|
100
168
|
hasClass(className, namespaceName) {
|
|
101
169
|
return !!this.getClass(className, namespaceName);
|
|
102
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Tests if an interface exists with the specified name
|
|
173
|
+
* @param ifaceName - the all-lower-case namespace-included class name
|
|
174
|
+
* @param namespaceName - the current namespace name
|
|
175
|
+
*/
|
|
176
|
+
hasInterface(ifaceName, namespaceName) {
|
|
177
|
+
return !!this.hasInterface(ifaceName, namespaceName);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Tests if a class OR an interface, etc. exists with the specified name
|
|
181
|
+
* @param name - the all-lower-case namespace-included class or interface name
|
|
182
|
+
* @param namespaceName - the current namespace name
|
|
183
|
+
*/
|
|
184
|
+
hasNamedType(name, namespaceName) {
|
|
185
|
+
return !!this.getNamedTypeStatement(name, namespaceName);
|
|
186
|
+
}
|
|
103
187
|
/**
|
|
104
188
|
* A dictionary of all classes in this scope. This includes namespaced classes always with their full name.
|
|
105
189
|
* The key is stored in lower case
|
|
@@ -125,22 +209,44 @@ class Scope {
|
|
|
125
209
|
getAncestorTypeListByContext(thisType, context) {
|
|
126
210
|
var _a;
|
|
127
211
|
const funcExpr = (_a = context === null || context === void 0 ? void 0 : context.file) === null || _a === void 0 ? void 0 : _a.getFunctionExpressionAtPosition(context === null || context === void 0 ? void 0 : context.position);
|
|
128
|
-
if ((0, reflection_1.isCustomType)(thisType)) {
|
|
212
|
+
if ((0, reflection_1.isCustomType)(thisType) || (0, reflection_1.isInterfaceType)(thisType)) {
|
|
129
213
|
return this.getAncestorTypeList(thisType.name, funcExpr);
|
|
130
214
|
}
|
|
131
215
|
return [];
|
|
132
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* A dictionary of all Interfaces in this scope. This includes namespaced Interfaces always with their full name.
|
|
219
|
+
* The key is stored in lower case
|
|
220
|
+
*/
|
|
221
|
+
getInterfaceMap() {
|
|
222
|
+
return this.cache.getOrAdd('interfaceMap', () => {
|
|
223
|
+
const map = new Map();
|
|
224
|
+
this.enumerateBrsFiles((file) => {
|
|
225
|
+
var _a;
|
|
226
|
+
if ((0, reflection_1.isBrsFile)(file)) {
|
|
227
|
+
for (let cls of file.parser.references.interfaceStatements) {
|
|
228
|
+
const lowerClassName = (_a = cls.getName(Parser_1.ParseMode.BrighterScript)) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
229
|
+
//only track classes with a defined name (i.e. exclude nameless malformed classes)
|
|
230
|
+
if (lowerClassName) {
|
|
231
|
+
map.set(lowerClassName, { item: cls, file: file });
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
return map;
|
|
237
|
+
});
|
|
238
|
+
}
|
|
133
239
|
getAncestorTypeList(className, functionExpression) {
|
|
134
240
|
var _a, _b;
|
|
135
241
|
const lowerNamespaceName = (_a = functionExpression.namespaceName) === null || _a === void 0 ? void 0 : _a.getName().toLowerCase();
|
|
136
242
|
const ancestors = [];
|
|
137
|
-
let
|
|
138
|
-
if (
|
|
139
|
-
ancestors.push(
|
|
243
|
+
let currentClassOrIFace = (_b = this.getFileLink(className, lowerNamespaceName)) === null || _b === void 0 ? void 0 : _b.item;
|
|
244
|
+
if (currentClassOrIFace) {
|
|
245
|
+
ancestors.push(currentClassOrIFace === null || currentClassOrIFace === void 0 ? void 0 : currentClassOrIFace.getThisBscType());
|
|
140
246
|
}
|
|
141
|
-
while (
|
|
142
|
-
|
|
143
|
-
ancestors.push(
|
|
247
|
+
while (currentClassOrIFace === null || currentClassOrIFace === void 0 ? void 0 : currentClassOrIFace.hasParent()) {
|
|
248
|
+
currentClassOrIFace = this.getParentStatement(currentClassOrIFace);
|
|
249
|
+
ancestors.push(currentClassOrIFace === null || currentClassOrIFace === void 0 ? void 0 : currentClassOrIFace.getThisBscType());
|
|
144
250
|
}
|
|
145
251
|
// TODO TYPES: this should probably be cached
|
|
146
252
|
return ancestors;
|
|
@@ -531,7 +637,7 @@ class Scope {
|
|
|
531
637
|
* This will only rebuilt if the symbol table has not been built before
|
|
532
638
|
*/
|
|
533
639
|
linkSymbolTable() {
|
|
534
|
-
var _a;
|
|
640
|
+
var _a, _b;
|
|
535
641
|
for (const file of this.getAllFiles()) {
|
|
536
642
|
if ((0, reflection_1.isBrsFile)(file)) {
|
|
537
643
|
file.parser.symbolTable.setParent(this.symbolTable);
|
|
@@ -562,6 +668,12 @@ class Scope {
|
|
|
562
668
|
const classStmt = (_a = pair[1]) === null || _a === void 0 ? void 0 : _a.item;
|
|
563
669
|
classStmt === null || classStmt === void 0 ? void 0 : classStmt.buildSymbolTable(this.getParentClass(classStmt));
|
|
564
670
|
}
|
|
671
|
+
// also link interfaces
|
|
672
|
+
const ifaceMap = this.getInterfaceMap();
|
|
673
|
+
for (const pair of ifaceMap) {
|
|
674
|
+
const ifaceStmt = (_b = pair[1]) === null || _b === void 0 ? void 0 : _b.item;
|
|
675
|
+
ifaceStmt === null || ifaceStmt === void 0 ? void 0 : ifaceStmt.buildSymbolTable(this.getParentInterface(ifaceStmt));
|
|
676
|
+
}
|
|
565
677
|
}
|
|
566
678
|
unlinkSymbolTable() {
|
|
567
679
|
var _a;
|
|
@@ -660,7 +772,7 @@ class Scope {
|
|
|
660
772
|
for (let expCall of file.functionCalls) {
|
|
661
773
|
const symbolTypeInfo = file.getSymbolTypeFromToken(expCall.name, expCall.functionExpression, this);
|
|
662
774
|
let funcType = symbolTypeInfo.type;
|
|
663
|
-
if (!(0, reflection_1.
|
|
775
|
+
if (!(0, reflection_1.isTypedFunctionType)(funcType) && !(0, reflection_1.isDynamicType)(funcType)) {
|
|
664
776
|
// We don't know if this is a function. Try seeing if it is a global
|
|
665
777
|
const callableContainer = util_1.util.getCallableContainerByFunctionCall(callableContainersByLowerName, expCall);
|
|
666
778
|
if (callableContainer) {
|
|
@@ -676,10 +788,10 @@ class Scope {
|
|
|
676
788
|
}
|
|
677
789
|
}
|
|
678
790
|
}
|
|
679
|
-
if ((0, reflection_1.
|
|
791
|
+
if ((0, reflection_1.isFunctionType)(funcType)) {
|
|
680
792
|
// This is a generic function, and it is callable
|
|
681
793
|
}
|
|
682
|
-
else if ((0, reflection_1.
|
|
794
|
+
else if ((0, reflection_1.isTypedFunctionType)(funcType)) {
|
|
683
795
|
// Check for Argument count mismatch.
|
|
684
796
|
//get min/max parameter count for callable
|
|
685
797
|
let paramCount = util_1.util.getMinMaxParamCount(funcType.params);
|
|
@@ -761,7 +873,7 @@ class Scope {
|
|
|
761
873
|
for (let symbol of func.symbolTable.getOwnSymbols()) {
|
|
762
874
|
const symbolNameLower = symbol.name.toLowerCase();
|
|
763
875
|
//if the var is a function
|
|
764
|
-
if ((0, reflection_1.
|
|
876
|
+
if ((0, reflection_1.isTypedFunctionType)(symbol.type)) {
|
|
765
877
|
//local var function with same name as stdlib function
|
|
766
878
|
if (
|
|
767
879
|
//has same name as stdlib
|
|
@@ -980,7 +1092,7 @@ class Scope {
|
|
|
980
1092
|
/**
|
|
981
1093
|
* @param className - The name of the class (including namespace if possible)
|
|
982
1094
|
* @param callsiteNamespace - the name of the namespace where the call site resides (this is NOT the known namespace of the class).
|
|
983
|
-
* This is used to help resolve non-namespaced class names that reside in the same
|
|
1095
|
+
* This is used to help resolve non-namespaced class names that reside in the same namespace as the call site.
|
|
984
1096
|
*/
|
|
985
1097
|
getClassHierarchy(className, callsiteNamespace) {
|
|
986
1098
|
var _a, _b;
|