class WinMD::Type::Com

Included Modules

Defined in:

winmd/template/type/com.cr

Constructors

Instance Method Summary

Instance methods inherited from module WinMD::Architecture

architectures? architectures?, render_arches render_arches

Instance methods inherited from class WinMD::Type

apply_overrides(overrides = [] of WinMD::FunOverride) apply_overrides, file=(file : WinMD::File) file=, kind : String kind, kind=(kind : String) kind=, render render

Constructor methods inherited from class WinMD::Type

new(pull : JSON::PullParser) new

Instance methods inherited from class WinMD::Base

after_initialize after_initialize, attrs : JSON::Any | Nil attrs, attrs=(attrs : JSON::Any | Nil) attrs=, file : WinMD::File | Nil file, file=(file : WinMD::File) file=, nested_type : Bool nested_type, nested_type=(nested_type : Bool) nested_type=, pad(p_size : Int32)
pad
pad
, pad_size : Int32 pad_size, pad_size=(pad_size : Int32) pad_size=, pointer=(pointer : Bool) pointer=, pointer? : Bool pointer?

Constructor methods inherited from class WinMD::Base

new(pull : JSON::PullParser) new

Constructor Detail

def self.new(pull : JSON::PullParser) #

[View source]

Instance Method Detail

def after_initialize #

[View source]
def architectures : Array(String) #

[View source]
def architectures=(architectures : ::Array(String)) #

[View source]
def file=(file : WinMD::File) #

[View source]
def get_guid #

[View source]
def get_interface #

[View source]
def guid : String | Nil #

[View source]
def guid=(guid : String | Nil) #

[View source]
def interface : WinMD::Type | Nil #

[View source]
def interface=(interface : WinMD::Type | Nil) #

[View source]
def methods : Array(WinMD::Method) #

[View source]
def methods=(methods : ::Array(WinMD::Method)) #

[View source]
def name : String #

[View source]
def name=(name : String) #

[View source]
def namespace : String #

[View source]
def namespace=(namespace : String) #

[View source]
def platform : String | Nil #

[View source]
def platform=(platform : String | Nil) #

[View source]
def render #

[View source]
def resolve_methods #

The full vtable: inherited methods first, then this interface's own.

Every method is copied before it is renamed, so de-duplicating overloads (COM allows the same name at several inheritance levels) never leaks into the base interface or into other interfaces that share the same base. The result is memoized because rendering asks for it several times. The full vtable: inherited methods first, then this interface's own.

Every method is copied before it is renamed, so de-duplicating overloads (COM allows the same name at several inheritance levels) never leaks into the base interface or into other interfaces that share the same base. The result is memoized because rendering asks for it several times.


[View source]
def resolved_methods : Array(WinMD::Method) #

[View source]
def resolved_methods=(resolved_methods : ::Array(WinMD::Method)) #

[View source]