abstract class
Bindgen::CallBuilder::CrystalWrapper::Body
- Bindgen::CallBuilder::CrystalWrapper::Body
- Bindgen::Call::HookableBody
- Bindgen::Call::Body
- Reference
- Object
Direct Known Subclasses
- Bindgen::CallBuilder::CrystalWrapper::ConstructorBody
- Bindgen::CallBuilder::CrystalWrapper::MethodBody
Defined in:
bindgen/call_builder/crystal_wrapper.crConstructors
Instance Method Summary
-
#encapsulate(call, code)
Generates the call itself.
- #encapsulate_into_variable(call, code)
-
#super_forwarder=(super_forwarder : Bool)
Does the method forward to
#superclasson an instance of a Crystal subclass? Set byProcessor::VirtualOverridefor the virtual methods with aSuperclassforwarder: a Crystal subclass, which theBindgenWrapperannotation of the generated classes tells apart, reaches the wrapper method bysuper, or by not overriding it, so Crystal's dispatch ran its overrides already. -
#super_forwarder? : Bool
Does the method forward to
#superclasson an instance of a Crystal subclass? Set byProcessor::VirtualOverridefor the virtual methods with aSuperclassforwarder: a Crystal subclass, which theBindgenWrapperannotation of the generated classes tells apart, reaches the wrapper method bysuper, or by not overriding it, so Crystal's dispatch ran its overrides already. -
#to_code(call : Call, platform : Graph::Platform) : String
Will be called by a
Generatorlater on, passing in the call and the target platform.
Instance methods inherited from class Bindgen::Call::HookableBody
add_post_hook(hook : Body) : Nil
add_post_hook,
post_hook : Body | Nil
post_hook,
post_hook=(post_hook : Body | Nil)
post_hook=,
post_hook?(type : T.class) : Bool forall T
post_hook?,
pre_hook : Body | Nil
pre_hook,
pre_hook=(pre_hook : Body | Nil)
pre_hook=
Instance methods inherited from class Bindgen::Call::Body
to_code(call : Call, platform : Graph::Platform) : String
to_code
Constructor Detail
Instance Method Detail
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.
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.
Will be called by a Generator later on, passing in the call and the
target platform.