DefaultTypedScope
An implementation of combining the typed scoping structures to manage the available type information at namespace levels.
Type parameters
- F
-
the field/object property meta data class.
- M
-
the method/function meta data class.
- T
-
the type/class meta data class.
Value parameters
- summary
-
the program summary.
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
Members list
Value members
Concrete methods
Pops the scope, removing types from the scope if necessary.
Pops the scope, adding types from the scope if necessary.
Inherited methods
Appends known members to the scope.
Appends known members to the scope.
Value parameters
- memberNames
-
the names of the members, or, if empty, imports all members from the type.
- typeOrModule
-
the type name or full name.
Attributes
- Inherited from:
- TypedScope
Appends known types imported into the scope.
Appends known types imported into the scope.
Value parameters
- namespace
-
the fully qualified imported namespace.
Attributes
- Inherited from:
- TypedScope
Appends known types imported into the scope.
Appends known types imported into the scope.
Value parameters
- typeOrModule
-
the type name or full name.
Attributes
- Inherited from:
- TypedScope
Attributes
- Inherited from:
- Scope
Determines if, by observing the given argument types, that the method's signature is a plausible match to the observed arguments.
Determines if, by observing the given argument types, that the method's signature is a plausible match to the observed arguments.
The default implementation only considers that the same number of arguments are added and does not account for variadic arguments nor polymorphism.
Value parameters
- argTypes
-
the observed arguments from the call-site.
- method
-
the method meta data.
Attributes
- Returns
-
true if the method could be overloaded by a call with these argument types.
- Inherited from:
- TypedScope
Attributes
- Inherited from:
- Scope
Given the type full name and field name, will attempt to find the matching entry.
Given the type full name and field name, will attempt to find the matching entry.
Value parameters
- fieldName
-
the field/object property/module variable name.
- typeFullName
-
the base type full name. If none, will refer to loosely imported member or functions.
Attributes
- Returns
-
the field/object property/module variable's meta data.
- Inherited from:
- TypedScope
Given the type full name and call name, will attempt to find the matching entry.
Given the type full name and call name, will attempt to find the matching entry.
Value parameters
- argTypes
-
the observed argument types. Only relevant for languages that implement overloading.
- callName
-
the call name.
- typeFullName
-
the base type full name. If none, will refer to loosely imported member or functions.
Attributes
- Returns
-
the method meta data if found.
- Inherited from:
- TypedScope
Given a type name or alias, attempts to resolve its full name using the types currently in scope.
Given a type name or alias, attempts to resolve its full name using the types currently in scope.
Value parameters
- typeName
-
the shorthand name.
Attributes
- Returns
-
the type meta-data if found.
- Inherited from:
- TypedScope
Given a method, will attempt to find the associated type with preference to the types in scope.
Given a method, will attempt to find the associated type with preference to the types in scope.
Value parameters
- m
-
the method meta data.
Attributes
- Returns
-
the type meta data, if found.
- Inherited from:
- TypedScope
Inherited fields
Tracks any types or modules imported under alternative names to their type full names.
Tracks any types or modules imported under alternative names to their type full names.
Attributes
- Inherited from:
- TypedScope
Tracks the members visible to this scope. In languages like JavaScript or Python, where members can be directly imported and accessed without an explicit base, they are kept here.
Tracks the members visible to this scope. In languages like JavaScript or Python, where members can be directly imported and accessed without an explicit base, they are kept here.
Attributes
- Inherited from:
- TypedScope
Tracks the types that are visible to this scope.