class

Bindgen::CallBuilder::CrystalWrapper::Body

Inherits Bindgen::Call::HookableBody < Bindgen::Call::Body < Reference < Object

Constructors

new(db : TypeDatabase, target : Call)
Source

Instance methods

encapsulate(call, code)

Generates the call itself.

Source
encapsulate_into_variable(call, code)
Source
super_forwarder=(super_forwarder : Bool)

Does the method forward to #superclass on an instance of a Crystal subclass? Set by Processor::VirtualOverride for the virtual methods with a Superclass forwarder: a Crystal subclass, which the BindgenWrapper annotation of the generated classes tells apart, reaches the wrapper method by super, or by not overriding it, so Crystal's dispatch ran its overrides already. Calling the C++ implementation under the shadow class then, instead of the virtual method, doesn't re-enter the override: super works.

Source
super_forwarder?

Does the method forward to #superclass on an instance of a Crystal subclass? Set by Processor::VirtualOverride for the virtual methods with a Superclass forwarder: a Crystal subclass, which the BindgenWrapper annotation of the generated classes tells apart, reaches the wrapper method by super, or by not overriding it, so Crystal's dispatch ran its overrides already. Calling the C++ implementation under the shadow class then, instead of the virtual method, doesn't re-enter the override: super works.

Source
to_code(call : Call, platform : Graph::Platform) : String

Will be called by a Generator later on, passing in the call and the target platform.

Source