class WinMD::File

Defined in:

winmd/template/file.cr

Constructors

Class Method Summary

Instance Method Summary

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]

Class Method Detail

def self.from_json(json_data, filename) #

[View source]

Instance Method Detail

def ==(other : WinMD::File) : Bool #

[View source]
def add_include(inc : WinMD::Include) #

Add includes but only if its unique


[View source]
def api : String #

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

[View source]
def com_interfaces #

[View source]
def constants : Array(WinMD::Constant) #

[View source]
def constants=(constants : Array(WinMD::Constant)) #

[View source]
def empty_shell? #

True if this file would render as a bare module ... extend self end with no constants, types, functions, or unicode aliases. Produced by ensure_namespace_prefix_files when a namespace appears only as an intermediate prefix and never contributes real content.


[View source]
def enums #

[View source]
def file_name : String #

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

[View source]
def file_path : String #

[View source]
def file_path=(filename : String) #

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

[View source]
def foreign? #

True if this file lives outside the projected Win32 namespace tree — i.e. it was created for a Windows.Foundation.*, Windows.Storage.*, etc. WinRT type that was referenced from a Win32 type via ApiRef but has no metadata in Windows.Win32.winmd. The importer remaps these to a WinRT.* namespace, so the prefix check here matches the projected form, not the raw CLR namespace.


[View source]
def functions : Array(WinMD::Function) #

[View source]
def functions=(functions : Array(WinMD::Function)) #

[View source]
def get_includes #

[View source]
def get_kinds #

[View source]
def get_types #

[View source]
def has_kind?(str_kind : String) #

[View source]
def has_type?(str_type : String) #

[View source]
def includes : Array(WinMD::Include) #

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

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

[View source]
def namespace : String #

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

[View source]
def native_typedefs #

[View source]
def orig_file_name : String #

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

[View source]
def placeholder_only? #

True if the file contains only placeholder NativeTypedef -> Void* entries (no real constants, functions, or richer types). These are emitted by Ecma335Importer#ensure_placeholder_types_for_missing_refs to keep ApiRefs resolvable.


[View source]
def process_overrides #

[View source]
def qualified_path #

[View source]
def rel_path : String #

[View source]
def render #

[View source]
def set_file #

[View source]
def structs_and_unions #

[View source]
def types : Array(WinMD::Type) #

[View source]
def types=(types : Array(WinMD::Type)) #

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

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

[View source]