class Bindgen::Processor::VirtualOverride

Overview

Allows to override C++ virtual methods in Crystal sub-classes.

Included Modules

Defined in:

bindgen/processor/virtual_override.cr

Constant Summary

Log = ::Log.for(self)

Allows to override C++ virtual methods in Crystal sub-classes.

PADDING_TYPE = Parser::Type.builtin_type("char")

Type of the field of an otherwise empty jumptable.

SUPERCLASS_NAME = "Superclass"

Name of the superclass wrapper structs.

Instance Method Summary

Instance methods inherited from module Bindgen::TypeHelper

cpp_class_name(class_name : String) : String cpp_class_name, passthrough(type : Parser::Type) passthrough, proc_by_pointer?(type : Parser::Type) : Bool proc_by_pointer?, reconfigure_pass_type(pass_by, is_ref, ptr) reconfigure_pass_type, structure_hosted?(rules : TypeDatabase::TypeConfig) : Bool structure_hosted?, type_copied?(type) : Bool type_copied?, type_pointer_depth(type : Parser::Type) : Int32 type_pointer_depth, variadic_argument : Call::VariadicArgument variadic_argument

Instance methods inherited from class Bindgen::Processor::Base

inherited_rules(class_name : String, & : TypeDatabase::TypeConfig -> TypeDatabase::KeepAlive) : TypeDatabase::KeepAlive inherited_rules, process(graph : Graph::Container, doc : Parser::Document) process, unmatched_patterns(klass : Graph::Class, rules : TypeDatabase::KeepAlive) : Array(Regex) unmatched_patterns

Constructor methods inherited from class Bindgen::Processor::Base

new(config : Configuration, db : TypeDatabase) new

Instance methods inherited from module Bindgen::Graph::Visitor

visit_alias(alias_name) visit_alias, visit_children(container : Container) visit_children, visit_class(klass) visit_class, visit_constant(constant) visit_constant, visit_enum(enumeration) visit_enum, visit_library(library) visit_library, visit_method(method) visit_method, visit_namespace(ns) visit_namespace, visit_node(node : Node) visit_node, visit_node?(node : Node) visit_node?, visit_platform_specific(specific) visit_platform_specific, visit_struct(structure) visit_struct, visit_union(structure) visit_union

Instance Method Detail

def process(graph : Graph::Container, doc : Parser::Document) #
Description copied from class Bindgen::Processor::Base

Runs the processor. You may change graph as you see fit.


[View source]
def visit_class(klass : Graph::Class) #

[View source]
def visit_library(_structure) #

Ignore libs, else the program will keep on looping on the Crystal jumptable structure.


[View source]