class Bindgen::Parser::Class
- Bindgen::Parser::Class
- Reference
- Object
Overview
Describes a C++ class
, struct
, or union
.
Included Modules
- JSON::Serializable
Defined in:
bindgen/parser/class.crConstructors
- .new(pull : JSON::PullParser)
- .new(name : String, byte_size : Int32 = 0, has_default_constructor : Bool = false, has_copy_constructor : Bool = false, type_kind : Bindgen::Parser::TypeKind = TypeKind::Class, abstract __arg0 : Bool = false, anonymous : Bool = false, destructible : Bool = true, bases : Array(Bindgen::Parser::BaseClass) = [] of BaseClass, fields : Array(Bindgen::Parser::Field) = [] of Field, methods : Array(Bindgen::Parser::Method) = [] of Method, access : Bindgen::Parser::AccessSpecifier = AccessSpecifier::Public)
Instance Method Summary
- #abstract? : Bool
-
#access : Bindgen::Parser::AccessSpecifier
Visibility of the class.
- #anonymous? : Bool
-
#as_type(pointer = 1, reference = false, const = false) : Type
Returns a
Type
referencing this class. -
#bases : Array(BaseClass)
Direct bases of the class.
-
#binding_name : String
The name of the class as part of binding methods.
- #byte_size : Int32
-
#class?(*args, **options)
Is this a
class
,struct
, or Cunion
? -
#class?(*args, **options, &)
Is this a
class
,struct
, or Cunion
? -
#cpp_union?(*args, **options)
Is this a
class
,struct
, or Cunion
? -
#cpp_union?(*args, **options, &)
Is this a
class
,struct
, or Cunion
? - #destructible? : Bool
-
#destructor_method : Method
Constructs a method destroying an instance of this class.
-
#destructor_name : String
The full binding function name of the destructor.
-
#each_wrappable_method(&)
Yields each wrappable method without any further processing.
-
#fields : Array(Field)
Data members defined in the class, both static and non-static.
-
#find_parent_method(method : Method) : Method | Nil
Assumes that method exists in a class inheriting from this class.
- #has_copy_constructor? : Bool
- #has_default_constructor? : Bool
-
#has_virtual_methods?
Does this class have any virtual methods?
-
#methods : Array(Method)
Methods defined in the class.
-
#name : String
Fully qualified name of the class.
- #private?(*args, **options)
- #private?(*args, **options, &)
- #protected?(*args, **options)
- #protected?(*args, **options, &)
- #public?(*args, **options)
- #public?(*args, **options, &)
-
#struct?(*args, **options)
Is this a
class
,struct
, or Cunion
? -
#struct?(*args, **options, &)
Is this a
class
,struct
, or Cunion
? - #type_kind : TypeKind
-
#wrap_methods : Array(Method)
List of all wrappable-methods.
-
#wrappable_methods
Non-yielding version of
#each_wrappable_method
Constructor Detail
Instance Method Detail
Visibility of the class. Default is public, but some generated Crystal classes may be private.
Returns a Type
referencing this class.
Constructs a method destroying an instance of this class.
Yields each wrappable method without any further processing.
Note: This method hard-codes which methods to ignore. If you're wondering why a method doesn't even reach the graph in the first place, look in here.
Data members defined in the class, both static and non-static.
Assumes that method exists in a class inheriting from this class. Tries to find a method in this class which is overriden by method.
List of all wrappable-methods. This includes all Method#variants
.
Methods which use Method#move_semantics?
on any type are explicitly
removed.
Note: This is a memoized getter. Thus it's cheap to call it multiple times.