Class Generated::OpaqueTypeDecl
A declaration of an opaque type, that is formally equivalent to a given type but abstracts it away.
Such a declaration is implicitly given when a declaration is written with an opaque result type, for example
func opaque() -> some SignedInteger { return 1 }
See https://docs.swift.org/swift-book/LanguageGuide/OpaqueTypes.html.
INTERNAL: Do not reference the Generated::OpaqueTypeDecl class directly.
Use the subclass OpaqueTypeDecl, where the following predicates are available.
Import path
import codeql.swift.generated.decl.OpaqueTypeDeclDirect supertypes
Indirect supertypes
Known direct subtypes
Predicates
| getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this element belongs. |
| getAnOpaqueGenericParam | Gets any of the opaque generic parameters of this opaque type declaration. |
| getImmediateOpaqueGenericParam | Gets the |
| getNamingDeclaration | Gets the naming declaration of this opaque type declaration. |
| getNumberOfOpaqueGenericParams | Gets the number of opaque generic parameters of this opaque type declaration. |
| getOpaqueGenericParam | Gets the |
Inherited predicates
| asCapturedDecl | Gets a capture of this declaration in the scope of a closure. | from ValueDecl |
| asNominalTypeDecl | Gets the | from Decl |
| getABaseType | Gets any of the base types of this type declaration. Expands protocols added in extensions and expands type aliases. For example in the following code, | from TypeDecl |
| getABaseTypeDecl | Gets the declaration of any of the base types of this type declaration. Expands protocols added in extensions and expands type aliases. For example in the following code, | from TypeDecl |
| getADerivedTypeDecl | Gets the declaration of any type derived from this type declaration. Expands protocols added in extensions and expands type aliases. For example in the following code, | from TypeDecl |
| getAGenericTypeParam | Gets any of the generic type parameters of this generic context. | from GenericContext |
| getAMember | Gets any of the members of this declaration. | from Decl |
| getAnAccess | Gets an expression that references this declaration. | from ValueDecl |
| getAnInheritedType | Gets any of the inherited types of this type declaration. | from TypeDecl |
| getBaseType | Gets the | from TypeDecl |
| getBaseTypeDecl | Gets the declaration of the | from TypeDecl |
| getDeclaringDecl | Gets the declaration that declares this declaration as a member, if any. | from Decl |
| getEnclosingCallable | Gets the nearest | from AstNode |
| getEnclosingDecl | Gets the nearest declaration that contains this AST node, if any. | from AstNode |
| getEnclosingFunction | Gets the nearest function definition that contains this AST node, if any. This includes functions, methods, (de)initializers, and accessors, but not closures. | from AstNode |
| getFile | Gets the primary file where this element occurs. | from Locatable |
| getFullName | Gets the full name of this | from TypeDecl |
| getFullyUnresolved | from Element | |
| getGenericTypeParam | Gets the | from GenericContext |
| getImmediateBaseType | Gets the | from TypeDecl |
| getImmediateInheritedType | Gets the | from TypeDecl |
| getImmediateInterfaceType | Gets the interface type of this value declaration. | from ValueDecl |
| getInheritedType | Gets the | from TypeDecl |
| getInterfaceType | Gets the interface type of this value declaration. | from ValueDecl |
| getLocation | Gets the location associated with this element in the code, if it exists. | from Locatable |
| getMember | Gets the | from Decl |
| getModule | Gets the module of this declaration. | from Decl |
| getName | Gets the name of this type declaration. | from TypeDecl |
| getNumberOfGenericTypeParams | Gets the number of generic type parameters of this generic context. | from GenericContext |
| getNumberOfInheritedTypes | Gets the number of inherited types of this type declaration. | from TypeDecl |
| getNumberOfMembers | Gets the number of members of this declaration. | from Decl |
| getPrimaryQlClasses | Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. | from Element |
| getResolveStep | Gets the most immediate element that should substitute this element in the explicit AST, if any. Classes can override this to indicate this node should be in the “hidden” AST, mostly reserved for conversions and syntactic sugar nodes like parentheses. | from Element |
| hasLocation | Holds if | from Locatable |
| isCaptured | Holds if this declaration is captured by a closure. | from ValueDecl |
| isUnknown | Holds if this element is unknown. | from Element |
| resolve | Gets the element that should substitute this element in the explicit AST, applying | from Element |
| toString | Gets the string representation of this element. | from Element |
| toStringImpl | INTERNAL: Do not use. | from TypeDecl |