ProjectBundle
public struct ProjectBundle : Instruction
extension ProjectBundle: ReifiableAccess
extension ProjectBundle: LifetimeExtender
extension ProjectBundle: CustomStringConvertible
Projects a value from a subscript bundle.
-
The subscript bundle implementing the projections.
Declaration
Swift
public let bundle: BundleReference<SubscriptDecl> -
The parameters of the subscript.
Declaration
Swift
public let parameters: [ParameterType] -
The type of the projected value.
Declaration
Swift
public let projection: AnyType -
The subscripts implementing the projection.
Declaration
Swift
public let variants: [AccessEffect : Function.ID] -
The arguments of the call.
Operands to must be the result of an
accessinstruction requesting a capability for each variant incalleeand having no use beforeproject_bundle.Declaration
Swift
public private(set) var operands: [Operand] { get } -
The site of the code corresponding to that instruction.
Declaration
Swift
public let site: SourceRange -
Creates an instance with the given properties.
Declaration
Swift
fileprivate init( bundle: BundleReference<SubscriptDecl>, variants: [AccessEffect: Function.ID], parameters: [ParameterType], projection: AnyType, operands: [Operand], site: SourceRange ) -
The capabilities of the projected value.
Declaration
Swift
public var capabilities: AccessEffectSet { get } -
The types of the instruction’s results.
Declaration
Swift
public var result: IR.Type? { get } -
Declaration
Swift
public mutating func replaceOperand(at i: Int, with new: Operand) -
Declaration
Swift
public var description: String { get }
View on GitHub