ITypeDefinition

Overview

ITypeDefinition is a class, record, delegate or enum type defined in the current project. This interface can be used to add new members to this type or modify existing ones. To query the members of this type, use the IType.

Location


 

AddConstant

Adds a new constant

 

method AddConstant(name: String; type: IType): IConstantDefinition

 

IConstantDefinition AddConstant(String name, IType type)

 

func AddConstant(_ name: String, _ type: IType) -> IConstantDefinition

 

IConstantDefinition AddConstant(String name, IType type)

 

Function AddConstant(name As String, type As IType) As IConstantDefinition

Parameters:

  • name: name of the constant
  • type: type of the element

AddConstructor

Adds a new constructor to this class

 

method AddConstructor(astatic: Boolean): IMethodDefinition

 

IMethodDefinition AddConstructor(Boolean astatic)

 

func AddConstructor(_ astatic: Boolean) -> IMethodDefinition

 

IMethodDefinition AddConstructor(Boolean astatic)

 

Function AddConstructor(astatic As Boolean) As IMethodDefinition

Parameters:

  • astatic: if true, this element becomes static

AddEvent

Adds a new event

 

method AddEvent(name: String; type: IType; astatic: Boolean): IEventDefinition

 

IEventDefinition AddEvent(String name, IType type, Boolean astatic)

 

func AddEvent(_ name: String, _ type: IType, _ astatic: Boolean) -> IEventDefinition

 

IEventDefinition AddEvent(String name, IType type, Boolean astatic)

 

Function AddEvent(name As String, type As IType, astatic As Boolean) As IEventDefinition

Parameters:

  • name: name of the event
  • type: type of the event
  • astatic: if true this event is static

AddField

Adds a new field

 

method AddField(name: String; type: IType; astatic: Boolean): IFieldDefinition

 

IFieldDefinition AddField(String name, IType type, Boolean astatic)

 

func AddField(_ name: String, _ type: IType, _ astatic: Boolean) -> IFieldDefinition

 

IFieldDefinition AddField(String name, IType type, Boolean astatic)

 

Function AddField(name As String, type As IType, astatic As Boolean) As IFieldDefinition

Parameters:

  • name: name of the field
  • type: name of the type
  • astatic: if true the field is static

AddFinalizer

Adds a finalizer to the method list

 

method AddFinalizer: IMethodDefinition

 

IMethodDefinition AddFinalizer()

 

func AddFinalizer() -> IMethodDefinition

 

IMethodDefinition AddFinalizer()

 

Function AddFinalizer() As IMethodDefinition

AddGenericParameter

Add a new generic parameter to this type

 

method AddGenericParameter(aName: String): IGenericParameterTypeDefinition

 

IGenericParameterTypeDefinition AddGenericParameter(String aName)

 

func AddGenericParameter(_ aName: String) -> IGenericParameterTypeDefinition

 

IGenericParameterTypeDefinition AddGenericParameter(String aName)

 

Function AddGenericParameter(aName As String) As IGenericParameterTypeDefinition

Parameters:

  • aName: generic parameter name

AddImplements (IMemberDefinition, Visibility, IType)

Adds a new method implements; Only works from the *Interface callbacks.

 

method AddImplements(member: IMemberDefinition; visibility: Visibility; interfacetype: IType)

 

void AddImplements(IMemberDefinition member, Visibility visibility, IType interfacetype)

 

func AddImplements(_ member: IMemberDefinition, _ visibility: Visibility, _ interfacetype: IType)

 

void AddImplements(IMemberDefinition member, Visibility visibility, IType interfacetype)

 

Sub AddImplements(member As IMemberDefinition, visibility As Visibility, interfacetype As IType)

Parameters:

  • member: member in this class that implements the interface
  • visibility: visibility of the generated methods
  • interfacetype: interface methods

Adds a new method implements; Only works from the *Interface callbacks.

 

method AddImplements(method: IMethodDefinition; interfacetype: IType; interfacemethod: IMethod): IImplements

 

IImplements AddImplements(IMethodDefinition method, IType interfacetype, IMethod interfacemethod)

 

func AddImplements(_ method: IMethodDefinition, _ interfacetype: IType, _ interfacemethod: IMethod) -> IImplements

 

IImplements AddImplements(IMethodDefinition method, IType interfacetype, IMethod interfacemethod)

 

Function AddImplements(method As IMethodDefinition, interfacetype As IType, interfacemethod As IMethod) As IImplements

Parameters:

  • method: method in this class that implements the member
  • interfacetype: interface type that has the method (could be generic)
  • interfacemethod: method that is implemented

AddInterface

Adds a new implemented interface to this class

 

method AddInterface(value: IType)

 

void AddInterface(IType value)

 

func AddInterface(_ value: IType)

 

void AddInterface(IType value)

 

Sub AddInterface(value As IType)

Parameters:

  • value: the interface to add

AddMethod

Adds a new method to this class

 

method AddMethod(name: String; resulttype: IType; astatic: Boolean): IMethodDefinition

 

IMethodDefinition AddMethod(String name, IType resulttype, Boolean astatic)

 

func AddMethod(_ name: String, _ resulttype: IType, _ astatic: Boolean) -> IMethodDefinition

 

IMethodDefinition AddMethod(String name, IType resulttype, Boolean astatic)

 

Function AddMethod(name As String, resulttype As IType, astatic As Boolean) As IMethodDefinition

Parameters:

  • name: name of the method
  • resulttype: return type
  • astatic: if true this method is static

Adds a new binary operator overload to this class

 

method AddOperator(operator: BinaryOperator; result: IType; parameter1: IType; parameter2: IType): IMethodDefinition

 

IMethodDefinition AddOperator(BinaryOperator operator, IType result, IType parameter1, IType parameter2)

 

func AddOperator(_ operator: BinaryOperator, _ result: IType, _ parameter1: IType, _ parameter2: IType) -> IMethodDefinition

 

IMethodDefinition AddOperator(BinaryOperator operator, IType result, IType parameter1, IType parameter2)

 

Function AddOperator(operator As BinaryOperator, result As IType, parameter1 As IType, parameter2 As IType) As IMethodDefinition

Parameters:

  • operator: operator type to add
  • result: return type
  • parameter1: first parameter type
  • parameter2: second parameter type

Adds a new unary operator overload to this class

 

method AddOperator(operator: UnaryOperator; result: IType; parameter: IType): IMethodDefinition

 

IMethodDefinition AddOperator(UnaryOperator operator, IType result, IType parameter)

 

func AddOperator(_ operator: UnaryOperator, _ result: IType, _ parameter: IType) -> IMethodDefinition

 

IMethodDefinition AddOperator(UnaryOperator operator, IType result, IType parameter)

 

Function AddOperator(operator As UnaryOperator, result As IType, parameter As IType) As IMethodDefinition

Parameters:

  • operator: operator type to add
  • result: return type
  • parameter: type of the parameter for this operator

AddProperty

Adds a new property to this class

 

method AddProperty(name: String; type: IType; astatic: Boolean): IPropertyDefinition

 

IPropertyDefinition AddProperty(String name, IType type, Boolean astatic)

 

func AddProperty(_ name: String, _ type: IType, _ astatic: Boolean) -> IPropertyDefinition

 

IPropertyDefinition AddProperty(String name, IType type, Boolean astatic)

 

Function AddProperty(name As String, type As IType, astatic As Boolean) As IPropertyDefinition

Parameters:

  • name: name of the property
  • type: type of the property
  • astatic: if true this method is static

EnumUnderlyingType

Gets or sets the underlying type of this enum

 

property EnumUnderlyingType: IType read write;

 

IType EnumUnderlyingType { get; set; }

 

var EnumUnderlyingType: IType { get{} set{} }

 

IType EnumUnderlyingType { __get; __set; }

 

Property EnumUnderlyingType() As IType

EventCount

Returns the number of events in this class

 

property EventCount: Int32 read;

 

Int32 EventCount { get; }

 

var EventCount: Int32 { get{} }

 

Int32 EventCount { __get; }

 

ReadOnly Property EventCount() As Int32

FieldCount

Returns the number of fields and constants in this type

 

property FieldCount: Int32 read;

 

Int32 FieldCount { get; }

 

var FieldCount: Int32 { get{} }

 

Int32 FieldCount { __get; }

 

ReadOnly Property FieldCount() As Int32

FindContextType

Finds a type that is valid in the context of this method; this supports passing strings like "Array of String" and "System.Collections.Generic.List<class 0;> to create generic types. "method 0" is the first method generic parameter

 

method FindContextType(aFullname: String): IType

 

IType FindContextType(String aFullname)

 

func FindContextType(_ aFullname: String) -> IType

 

IType FindContextType(String aFullname)

 

Function FindContextType(aFullname As String) As IType

Parameters:

  • aFullname: full type name

GetContextType

Finds a type that is valid in the context of this method; this supports passing strings like "Array of String" and "System.Collections.Generic.List<class 0;> to create generic types. "method 0" is the first method generic parameter ; If not found raise an exception

 

method GetContextType(aFullname: String): IType

 

IType GetContextType(String aFullname)

 

func GetContextType(_ aFullname: String) -> IType

 

IType GetContextType(String aFullname)

 

Function GetContextType(aFullname As String) As IType

Parameters:

  • aFullname: full type name

GetEvent

Returns an event by index

 

method GetEvent(no: Int32): IEventDefinition

 

IEventDefinition GetEvent(Int32 no)

 

func GetEvent(_ no: Int32) -> IEventDefinition

 

IEventDefinition GetEvent(Int32 no)

 

Function GetEvent(no As Int32) As IEventDefinition

Parameters:

  • no: index

GetField

Returns a field by index (includes constants)

 

method GetField(no: Int32): IFieldDefinition

 

IFieldDefinition GetField(Int32 no)

 

func GetField(_ no: Int32) -> IFieldDefinition

 

IFieldDefinition GetField(Int32 no)

 

Function GetField(no As Int32) As IFieldDefinition

Parameters:

  • no: index

GetMethod

Returns a method by index, includes constructors and operators

 

method GetMethod(no: Int32): IMethodDefinition

 

IMethodDefinition GetMethod(Int32 no)

 

func GetMethod(_ no: Int32) -> IMethodDefinition

 

IMethodDefinition GetMethod(Int32 no)

 

Function GetMethod(no As Int32) As IMethodDefinition

Parameters:

  • no: index

GetProperty

Returns a property by index

 

method GetProperty(no: Int32): IPropertyDefinition

 

IPropertyDefinition GetProperty(Int32 no)

 

func GetProperty(_ no: Int32) -> IPropertyDefinition

 

IPropertyDefinition GetProperty(Int32 no)

 

Function GetProperty(no As Int32) As IPropertyDefinition

Parameters:

  • no: index

GetSelfType

Returns the self type of the type this method is in, for generic types this is a generic type instantiated with its own parameters

 

method GetSelfType: IType

 

IType GetSelfType()

 

func GetSelfType() -> IType

 

IType GetSelfType()

 

Function GetSelfType() As IType

GetUniqueIdentifier

Generates an identifier that is not used by the user or compiler

 

method GetUniqueIdentifier(aBaseName: String): String

 

String GetUniqueIdentifier(String aBaseName)

 

func GetUniqueIdentifier(_ aBaseName: String) -> String

 

String GetUniqueIdentifier(String aBaseName)

 

Function GetUniqueIdentifier(aBaseName As String) As String

Parameters:

  • aBaseName: the base name for the item, the return string will begin with this.

IsDelegateBlock

 

property IsDelegateBlock: Boolean read write;

 

Boolean IsDelegateBlock { get; set; }

 

var IsDelegateBlock: Boolean { get{} set{} }

 

Boolean IsDelegateBlock { __get; __set; }

 

Property IsDelegateBlock() As Boolean

IsExtension

Returns if this type is an Extension Type

 

property IsExtension: Boolean read write;

 

Boolean IsExtension { get; set; }

 

var IsExtension: Boolean { get{} set{} }

 

Boolean IsExtension { __get; __set; }

 

Property IsExtension() As Boolean

IsRefStruct

 

property IsRefStruct: Boolean read write;

 

Boolean IsRefStruct { get; set; }

 

var IsRefStruct: Boolean { get{} set{} }

 

Boolean IsRefStruct { __get; __set; }

 

Property IsRefStruct() As Boolean

MappedToType

 

property MappedToType: IType read write;

 

IType MappedToType { get; set; }

 

var MappedToType: IType { get{} set{} }

 

IType MappedToType { __get; __set; }

 

Property MappedToType() As IType

MethodCount

Returns the number of methods in this type

 

property MethodCount: Int32 read;

 

Int32 MethodCount { get; }

 

var MethodCount: Int32 { get{} }

 

Int32 MethodCount { __get; }

 

ReadOnly Property MethodCount() As Int32

Model

 

property Model: ClassModel read write;

 

ClassModel Model { get; set; }

 

var Model: ClassModel { get{} set{} }

 

ClassModel Model { __get; __set; }

 

Property Model() As ClassModel

Module

 

property Module: Boolean read write;

 

Boolean Module { get; set; }

 

var Module: Boolean { get{} set{} }

 

Boolean Module { __get; __set; }

 

Property Module() As Boolean

ParentType

The parent type of this type

 

property ParentType: IType read write;

 

IType ParentType { get; set; }

 

var ParentType: IType { get{} set{} }

 

IType ParentType { __get; __set; }

 

Property ParentType() As IType

PropertyCount

Returns the number of properties in this class

 

property PropertyCount: Int32 read;

 

Int32 PropertyCount { get; }

 

var PropertyCount: Int32 { get{} }

 

Int32 PropertyCount { __get; }

 

ReadOnly Property PropertyCount() As Int32

RemoveEvent (IEventDefinition)

Removes an event definition from the events list in this class

 

method RemoveEvent(field: IEventDefinition)

 

void RemoveEvent(IEventDefinition field)

 

func RemoveEvent(_ field: IEventDefinition)

 

void RemoveEvent(IEventDefinition field)

 

Sub RemoveEvent(field As IEventDefinition)

Parameters:

  • field: value to remove

RemoveEvent (Int32)

Removes an event definition from the events list in this class

 

method RemoveEvent(no: Int32)

 

void RemoveEvent(Int32 no)

 

func RemoveEvent(_ no: Int32)

 

void RemoveEvent(Int32 no)

 

Sub RemoveEvent(no As Int32)

Parameters:

  • no: index

RemoveField (IFieldDefinition)

Removes a field from the field list in this class

 

method RemoveField(field: IFieldDefinition)

 

void RemoveField(IFieldDefinition field)

 

func RemoveField(_ field: IFieldDefinition)

 

void RemoveField(IFieldDefinition field)

 

Sub RemoveField(field As IFieldDefinition)

Parameters:

  • field: value to remove

RemoveField (Int32)

Removes a field from the field list in this class

 

method RemoveField(no: Int32)

 

void RemoveField(Int32 no)

 

func RemoveField(_ no: Int32)

 

void RemoveField(Int32 no)

 

Sub RemoveField(no As Int32)

Parameters:

  • no: index

RemoveImplements (Int32)

Removes an implements definition from this class

 

method RemoveImplements(no: Int32)

 

void RemoveImplements(Int32 no)

 

func RemoveImplements(_ no: Int32)

 

void RemoveImplements(Int32 no)

 

Sub RemoveImplements(no As Int32)

Parameters:

  • no: index

RemoveImplements (IImplements)

Removes an implements definition from this class

 

method RemoveImplements(value: IImplements)

 

void RemoveImplements(IImplements value)

 

func RemoveImplements(_ value: IImplements)

 

void RemoveImplements(IImplements value)

 

Sub RemoveImplements(value As IImplements)

Parameters:

  • value: value to remove

RemoveInterface (Int32)

Removes an implemented interface from this type

 

method RemoveInterface(no: Int32)

 

void RemoveInterface(Int32 no)

 

func RemoveInterface(_ no: Int32)

 

void RemoveInterface(Int32 no)

 

Sub RemoveInterface(no As Int32)

Parameters:

  • no: index

RemoveInterface (IType)

Removes an implemented interface from this type

 

method RemoveInterface(value: IType)

 

void RemoveInterface(IType value)

 

func RemoveInterface(_ value: IType)

 

void RemoveInterface(IType value)

 

Sub RemoveInterface(value As IType)

Parameters:

  • value: value to remove

RemoveMethod (IMethodDefinition)

Removes a method from this type

 

method RemoveMethod(method: IMethodDefinition)

 

void RemoveMethod(IMethodDefinition method)

 

func RemoveMethod(_ method: IMethodDefinition)

 

void RemoveMethod(IMethodDefinition method)

 

Sub RemoveMethod(method As IMethodDefinition)

Parameters:

  • method: value to remove

RemoveMethod (Int32)

Removes a method from this type

 

method RemoveMethod(no: Int32)

 

void RemoveMethod(Int32 no)

 

func RemoveMethod(_ no: Int32)

 

void RemoveMethod(Int32 no)

 

Sub RemoveMethod(no As Int32)

Parameters:

  • no: index

RemoveProperty (IPropertyDefinition)

Removes a property from this type

 

method RemoveProperty(field: IPropertyDefinition)

 

void RemoveProperty(IPropertyDefinition field)

 

func RemoveProperty(_ field: IPropertyDefinition)

 

void RemoveProperty(IPropertyDefinition field)

 

Sub RemoveProperty(field As IPropertyDefinition)

Parameters:

  • field: value to remove

RemoveProperty (Int32)

Removes a property from this type

 

method RemoveProperty(no: Int32)

 

void RemoveProperty(Int32 no)

 

func RemoveProperty(_ no: Int32)

 

void RemoveProperty(Int32 no)

 

Sub RemoveProperty(no As Int32)

Parameters:

  • no: index

Sealed

Gets or sets if this class is sealed

 

property Sealed: Boolean read write;

 

Boolean Sealed { get; set; }

 

var Sealed: Boolean { get{} set{} }

 

Boolean Sealed { __get; __set; }

 

Property Sealed() As Boolean

SetName

Sets the name of this type

 

method SetName(aNamespace: String; aName: String)

 

void SetName(String aNamespace, String aName)

 

func SetName(_ aNamespace: String, _ aName: String)

 

void SetName(String aNamespace, String aName)

 

Sub SetName(aNamespace As String, aName As String)

Parameters:

  • aNamespace: new namespace (ignored for nested types)
  • aName: name of the type

SoftInterface

Get or set if this type is a soft interface

 

property SoftInterface: Boolean read write;

 

Boolean SoftInterface { get; set; }

 

var SoftInterface: Boolean { get{} set{} }

 

Boolean SoftInterface { __get; __set; }

 

Property SoftInterface() As Boolean

StructCopyCtor

 

property StructCopyCtor: IMethodDefinition read write;

 

IMethodDefinition StructCopyCtor { get; set; }

 

var StructCopyCtor: IMethodDefinition { get{} set{} }

 

IMethodDefinition StructCopyCtor { __get; __set; }

 

Property StructCopyCtor() As IMethodDefinition

StructDtor

 

property StructDtor: IMethodDefinition read write;

 

IMethodDefinition StructDtor { get; set; }

 

var StructDtor: IMethodDefinition { get{} set{} }

 

IMethodDefinition StructDtor { __get; __set; }

 

Property StructDtor() As IMethodDefinition

Visibility

Nested visibility; for non-nested types only private and public are valid

 

property Visibility: Visibility read write;

 

Visibility Visibility { get; set; }

 

var Visibility: Visibility { get{} set{} }

 

Visibility Visibility { __get; __set; }

 

Property Visibility() As Visibility

 

EnumUnderlyingType

Gets or sets the underlying type of this enum

 

property EnumUnderlyingType: IType read write;

 

IType EnumUnderlyingType { get; set; }

 

var EnumUnderlyingType: IType { get{} set{} }

 

IType EnumUnderlyingType { __get; __set; }

 

Property EnumUnderlyingType() As IType

EventCount

Returns the number of events in this class

 

property EventCount: Int32 read;

 

Int32 EventCount { get; }

 

var EventCount: Int32 { get{} }

 

Int32 EventCount { __get; }

 

ReadOnly Property EventCount() As Int32

FieldCount

Returns the number of fields and constants in this type

 

property FieldCount: Int32 read;

 

Int32 FieldCount { get; }

 

var FieldCount: Int32 { get{} }

 

Int32 FieldCount { __get; }

 

ReadOnly Property FieldCount() As Int32

IsDelegateBlock

 

property IsDelegateBlock: Boolean read write;

 

Boolean IsDelegateBlock { get; set; }

 

var IsDelegateBlock: Boolean { get{} set{} }

 

Boolean IsDelegateBlock { __get; __set; }

 

Property IsDelegateBlock() As Boolean

IsExtension

Returns if this type is an Extension Type

 

property IsExtension: Boolean read write;

 

Boolean IsExtension { get; set; }

 

var IsExtension: Boolean { get{} set{} }

 

Boolean IsExtension { __get; __set; }

 

Property IsExtension() As Boolean

IsRefStruct

 

property IsRefStruct: Boolean read write;

 

Boolean IsRefStruct { get; set; }

 

var IsRefStruct: Boolean { get{} set{} }

 

Boolean IsRefStruct { __get; __set; }

 

Property IsRefStruct() As Boolean

MappedToType

 

property MappedToType: IType read write;

 

IType MappedToType { get; set; }

 

var MappedToType: IType { get{} set{} }

 

IType MappedToType { __get; __set; }

 

Property MappedToType() As IType

MethodCount

Returns the number of methods in this type

 

property MethodCount: Int32 read;

 

Int32 MethodCount { get; }

 

var MethodCount: Int32 { get{} }

 

Int32 MethodCount { __get; }

 

ReadOnly Property MethodCount() As Int32

Model

 

property Model: ClassModel read write;

 

ClassModel Model { get; set; }

 

var Model: ClassModel { get{} set{} }

 

ClassModel Model { __get; __set; }

 

Property Model() As ClassModel

Module

 

property Module: Boolean read write;

 

Boolean Module { get; set; }

 

var Module: Boolean { get{} set{} }

 

Boolean Module { __get; __set; }

 

Property Module() As Boolean

ParentType

The parent type of this type

 

property ParentType: IType read write;

 

IType ParentType { get; set; }

 

var ParentType: IType { get{} set{} }

 

IType ParentType { __get; __set; }

 

Property ParentType() As IType

PropertyCount

Returns the number of properties in this class

 

property PropertyCount: Int32 read;

 

Int32 PropertyCount { get; }

 

var PropertyCount: Int32 { get{} }

 

Int32 PropertyCount { __get; }

 

ReadOnly Property PropertyCount() As Int32

Sealed

Gets or sets if this class is sealed

 

property Sealed: Boolean read write;

 

Boolean Sealed { get; set; }

 

var Sealed: Boolean { get{} set{} }

 

Boolean Sealed { __get; __set; }

 

Property Sealed() As Boolean

SoftInterface

Get or set if this type is a soft interface

 

property SoftInterface: Boolean read write;

 

Boolean SoftInterface { get; set; }

 

var SoftInterface: Boolean { get{} set{} }

 

Boolean SoftInterface { __get; __set; }

 

Property SoftInterface() As Boolean

StructCopyCtor

 

property StructCopyCtor: IMethodDefinition read write;

 

IMethodDefinition StructCopyCtor { get; set; }

 

var StructCopyCtor: IMethodDefinition { get{} set{} }

 

IMethodDefinition StructCopyCtor { __get; __set; }

 

Property StructCopyCtor() As IMethodDefinition

StructDtor

 

property StructDtor: IMethodDefinition read write;

 

IMethodDefinition StructDtor { get; set; }

 

var StructDtor: IMethodDefinition { get{} set{} }

 

IMethodDefinition StructDtor { __get; __set; }

 

Property StructDtor() As IMethodDefinition

Visibility

Nested visibility; for non-nested types only private and public are valid

 

property Visibility: Visibility read write;

 

Visibility Visibility { get; set; }

 

var Visibility: Visibility { get{} set{} }

 

Visibility Visibility { __get; __set; }

 

Property Visibility() As Visibility

 

AddConstant

Adds a new constant

 

method AddConstant(name: String; type: IType): IConstantDefinition

 

IConstantDefinition AddConstant(String name, IType type)

 

func AddConstant(_ name: String, _ type: IType) -> IConstantDefinition

 

IConstantDefinition AddConstant(String name, IType type)

 

Function AddConstant(name As String, type As IType) As IConstantDefinition

Parameters:

  • name: name of the constant
  • type: type of the element

AddConstructor

Adds a new constructor to this class

 

method AddConstructor(astatic: Boolean): IMethodDefinition

 

IMethodDefinition AddConstructor(Boolean astatic)

 

func AddConstructor(_ astatic: Boolean) -> IMethodDefinition

 

IMethodDefinition AddConstructor(Boolean astatic)

 

Function AddConstructor(astatic As Boolean) As IMethodDefinition

Parameters:

  • astatic: if true, this element becomes static

AddEvent

Adds a new event

 

method AddEvent(name: String; type: IType; astatic: Boolean): IEventDefinition

 

IEventDefinition AddEvent(String name, IType type, Boolean astatic)

 

func AddEvent(_ name: String, _ type: IType, _ astatic: Boolean) -> IEventDefinition

 

IEventDefinition AddEvent(String name, IType type, Boolean astatic)

 

Function AddEvent(name As String, type As IType, astatic As Boolean) As IEventDefinition

Parameters:

  • name: name of the event
  • type: type of the event
  • astatic: if true this event is static

AddField

Adds a new field

 

method AddField(name: String; type: IType; astatic: Boolean): IFieldDefinition

 

IFieldDefinition AddField(String name, IType type, Boolean astatic)

 

func AddField(_ name: String, _ type: IType, _ astatic: Boolean) -> IFieldDefinition

 

IFieldDefinition AddField(String name, IType type, Boolean astatic)

 

Function AddField(name As String, type As IType, astatic As Boolean) As IFieldDefinition

Parameters:

  • name: name of the field
  • type: name of the type
  • astatic: if true the field is static

AddFinalizer

Adds a finalizer to the method list

 

method AddFinalizer: IMethodDefinition

 

IMethodDefinition AddFinalizer()

 

func AddFinalizer() -> IMethodDefinition

 

IMethodDefinition AddFinalizer()

 

Function AddFinalizer() As IMethodDefinition

AddGenericParameter

Add a new generic parameter to this type

 

method AddGenericParameter(aName: String): IGenericParameterTypeDefinition

 

IGenericParameterTypeDefinition AddGenericParameter(String aName)

 

func AddGenericParameter(_ aName: String) -> IGenericParameterTypeDefinition

 

IGenericParameterTypeDefinition AddGenericParameter(String aName)

 

Function AddGenericParameter(aName As String) As IGenericParameterTypeDefinition

Parameters:

  • aName: generic parameter name

AddImplements (IMemberDefinition, Visibility, IType)

Adds a new method implements; Only works from the *Interface callbacks.

 

method AddImplements(member: IMemberDefinition; visibility: Visibility; interfacetype: IType)

 

void AddImplements(IMemberDefinition member, Visibility visibility, IType interfacetype)

 

func AddImplements(_ member: IMemberDefinition, _ visibility: Visibility, _ interfacetype: IType)

 

void AddImplements(IMemberDefinition member, Visibility visibility, IType interfacetype)

 

Sub AddImplements(member As IMemberDefinition, visibility As Visibility, interfacetype As IType)

Parameters:

  • member: member in this class that implements the interface
  • visibility: visibility of the generated methods
  • interfacetype: interface methods

Adds a new method implements; Only works from the *Interface callbacks.

 

method AddImplements(method: IMethodDefinition; interfacetype: IType; interfacemethod: IMethod): IImplements

 

IImplements AddImplements(IMethodDefinition method, IType interfacetype, IMethod interfacemethod)

 

func AddImplements(_ method: IMethodDefinition, _ interfacetype: IType, _ interfacemethod: IMethod) -> IImplements

 

IImplements AddImplements(IMethodDefinition method, IType interfacetype, IMethod interfacemethod)

 

Function AddImplements(method As IMethodDefinition, interfacetype As IType, interfacemethod As IMethod) As IImplements

Parameters:

  • method: method in this class that implements the member
  • interfacetype: interface type that has the method (could be generic)
  • interfacemethod: method that is implemented

AddInterface

Adds a new implemented interface to this class

 

method AddInterface(value: IType)

 

void AddInterface(IType value)

 

func AddInterface(_ value: IType)

 

void AddInterface(IType value)

 

Sub AddInterface(value As IType)

Parameters:

  • value: the interface to add

AddMethod

Adds a new method to this class

 

method AddMethod(name: String; resulttype: IType; astatic: Boolean): IMethodDefinition

 

IMethodDefinition AddMethod(String name, IType resulttype, Boolean astatic)

 

func AddMethod(_ name: String, _ resulttype: IType, _ astatic: Boolean) -> IMethodDefinition

 

IMethodDefinition AddMethod(String name, IType resulttype, Boolean astatic)

 

Function AddMethod(name As String, resulttype As IType, astatic As Boolean) As IMethodDefinition

Parameters:

  • name: name of the method
  • resulttype: return type
  • astatic: if true this method is static

Adds a new binary operator overload to this class

 

method AddOperator(operator: BinaryOperator; result: IType; parameter1: IType; parameter2: IType): IMethodDefinition

 

IMethodDefinition AddOperator(BinaryOperator operator, IType result, IType parameter1, IType parameter2)

 

func AddOperator(_ operator: BinaryOperator, _ result: IType, _ parameter1: IType, _ parameter2: IType) -> IMethodDefinition

 

IMethodDefinition AddOperator(BinaryOperator operator, IType result, IType parameter1, IType parameter2)

 

Function AddOperator(operator As BinaryOperator, result As IType, parameter1 As IType, parameter2 As IType) As IMethodDefinition

Parameters:

  • operator: operator type to add
  • result: return type
  • parameter1: first parameter type
  • parameter2: second parameter type

Adds a new unary operator overload to this class

 

method AddOperator(operator: UnaryOperator; result: IType; parameter: IType): IMethodDefinition

 

IMethodDefinition AddOperator(UnaryOperator operator, IType result, IType parameter)

 

func AddOperator(_ operator: UnaryOperator, _ result: IType, _ parameter: IType) -> IMethodDefinition

 

IMethodDefinition AddOperator(UnaryOperator operator, IType result, IType parameter)

 

Function AddOperator(operator As UnaryOperator, result As IType, parameter As IType) As IMethodDefinition

Parameters:

  • operator: operator type to add
  • result: return type
  • parameter: type of the parameter for this operator

AddProperty

Adds a new property to this class

 

method AddProperty(name: String; type: IType; astatic: Boolean): IPropertyDefinition

 

IPropertyDefinition AddProperty(String name, IType type, Boolean astatic)

 

func AddProperty(_ name: String, _ type: IType, _ astatic: Boolean) -> IPropertyDefinition

 

IPropertyDefinition AddProperty(String name, IType type, Boolean astatic)

 

Function AddProperty(name As String, type As IType, astatic As Boolean) As IPropertyDefinition

Parameters:

  • name: name of the property
  • type: type of the property
  • astatic: if true this method is static

FindContextType

Finds a type that is valid in the context of this method; this supports passing strings like "Array of String" and "System.Collections.Generic.List<class 0;> to create generic types. "method 0" is the first method generic parameter

 

method FindContextType(aFullname: String): IType

 

IType FindContextType(String aFullname)

 

func FindContextType(_ aFullname: String) -> IType

 

IType FindContextType(String aFullname)

 

Function FindContextType(aFullname As String) As IType

Parameters:

  • aFullname: full type name

GetContextType

Finds a type that is valid in the context of this method; this supports passing strings like "Array of String" and "System.Collections.Generic.List<class 0;> to create generic types. "method 0" is the first method generic parameter ; If not found raise an exception

 

method GetContextType(aFullname: String): IType

 

IType GetContextType(String aFullname)

 

func GetContextType(_ aFullname: String) -> IType

 

IType GetContextType(String aFullname)

 

Function GetContextType(aFullname As String) As IType

Parameters:

  • aFullname: full type name

GetEvent

Returns an event by index

 

method GetEvent(no: Int32): IEventDefinition

 

IEventDefinition GetEvent(Int32 no)

 

func GetEvent(_ no: Int32) -> IEventDefinition

 

IEventDefinition GetEvent(Int32 no)

 

Function GetEvent(no As Int32) As IEventDefinition

Parameters:

  • no: index

GetField

Returns a field by index (includes constants)

 

method GetField(no: Int32): IFieldDefinition

 

IFieldDefinition GetField(Int32 no)

 

func GetField(_ no: Int32) -> IFieldDefinition

 

IFieldDefinition GetField(Int32 no)

 

Function GetField(no As Int32) As IFieldDefinition

Parameters:

  • no: index

GetMethod

Returns a method by index, includes constructors and operators

 

method GetMethod(no: Int32): IMethodDefinition

 

IMethodDefinition GetMethod(Int32 no)

 

func GetMethod(_ no: Int32) -> IMethodDefinition

 

IMethodDefinition GetMethod(Int32 no)

 

Function GetMethod(no As Int32) As IMethodDefinition

Parameters:

  • no: index

GetProperty

Returns a property by index

 

method GetProperty(no: Int32): IPropertyDefinition

 

IPropertyDefinition GetProperty(Int32 no)

 

func GetProperty(_ no: Int32) -> IPropertyDefinition

 

IPropertyDefinition GetProperty(Int32 no)

 

Function GetProperty(no As Int32) As IPropertyDefinition

Parameters:

  • no: index

GetSelfType

Returns the self type of the type this method is in, for generic types this is a generic type instantiated with its own parameters

 

method GetSelfType: IType

 

IType GetSelfType()

 

func GetSelfType() -> IType

 

IType GetSelfType()

 

Function GetSelfType() As IType

GetUniqueIdentifier

Generates an identifier that is not used by the user or compiler

 

method GetUniqueIdentifier(aBaseName: String): String

 

String GetUniqueIdentifier(String aBaseName)

 

func GetUniqueIdentifier(_ aBaseName: String) -> String

 

String GetUniqueIdentifier(String aBaseName)

 

Function GetUniqueIdentifier(aBaseName As String) As String

Parameters:

  • aBaseName: the base name for the item, the return string will begin with this.

RemoveEvent (IEventDefinition)

Removes an event definition from the events list in this class

 

method RemoveEvent(field: IEventDefinition)

 

void RemoveEvent(IEventDefinition field)

 

func RemoveEvent(_ field: IEventDefinition)

 

void RemoveEvent(IEventDefinition field)

 

Sub RemoveEvent(field As IEventDefinition)

Parameters:

  • field: value to remove

RemoveEvent (Int32)

Removes an event definition from the events list in this class

 

method RemoveEvent(no: Int32)

 

void RemoveEvent(Int32 no)

 

func RemoveEvent(_ no: Int32)

 

void RemoveEvent(Int32 no)

 

Sub RemoveEvent(no As Int32)

Parameters:

  • no: index

RemoveField (IFieldDefinition)

Removes a field from the field list in this class

 

method RemoveField(field: IFieldDefinition)

 

void RemoveField(IFieldDefinition field)

 

func RemoveField(_ field: IFieldDefinition)

 

void RemoveField(IFieldDefinition field)

 

Sub RemoveField(field As IFieldDefinition)

Parameters:

  • field: value to remove

RemoveField (Int32)

Removes a field from the field list in this class

 

method RemoveField(no: Int32)

 

void RemoveField(Int32 no)

 

func RemoveField(_ no: Int32)

 

void RemoveField(Int32 no)

 

Sub RemoveField(no As Int32)

Parameters:

  • no: index

RemoveImplements (Int32)

Removes an implements definition from this class

 

method RemoveImplements(no: Int32)

 

void RemoveImplements(Int32 no)

 

func RemoveImplements(_ no: Int32)

 

void RemoveImplements(Int32 no)

 

Sub RemoveImplements(no As Int32)

Parameters:

  • no: index

RemoveImplements (IImplements)

Removes an implements definition from this class

 

method RemoveImplements(value: IImplements)

 

void RemoveImplements(IImplements value)

 

func RemoveImplements(_ value: IImplements)

 

void RemoveImplements(IImplements value)

 

Sub RemoveImplements(value As IImplements)

Parameters:

  • value: value to remove

RemoveInterface (Int32)

Removes an implemented interface from this type

 

method RemoveInterface(no: Int32)

 

void RemoveInterface(Int32 no)

 

func RemoveInterface(_ no: Int32)

 

void RemoveInterface(Int32 no)

 

Sub RemoveInterface(no As Int32)

Parameters:

  • no: index

RemoveInterface (IType)

Removes an implemented interface from this type

 

method RemoveInterface(value: IType)

 

void RemoveInterface(IType value)

 

func RemoveInterface(_ value: IType)

 

void RemoveInterface(IType value)

 

Sub RemoveInterface(value As IType)

Parameters:

  • value: value to remove

RemoveMethod (IMethodDefinition)

Removes a method from this type

 

method RemoveMethod(method: IMethodDefinition)

 

void RemoveMethod(IMethodDefinition method)

 

func RemoveMethod(_ method: IMethodDefinition)

 

void RemoveMethod(IMethodDefinition method)

 

Sub RemoveMethod(method As IMethodDefinition)

Parameters:

  • method: value to remove

RemoveMethod (Int32)

Removes a method from this type

 

method RemoveMethod(no: Int32)

 

void RemoveMethod(Int32 no)

 

func RemoveMethod(_ no: Int32)

 

void RemoveMethod(Int32 no)

 

Sub RemoveMethod(no As Int32)

Parameters:

  • no: index

RemoveProperty (IPropertyDefinition)

Removes a property from this type

 

method RemoveProperty(field: IPropertyDefinition)

 

void RemoveProperty(IPropertyDefinition field)

 

func RemoveProperty(_ field: IPropertyDefinition)

 

void RemoveProperty(IPropertyDefinition field)

 

Sub RemoveProperty(field As IPropertyDefinition)

Parameters:

  • field: value to remove

RemoveProperty (Int32)

Removes a property from this type

 

method RemoveProperty(no: Int32)

 

void RemoveProperty(Int32 no)

 

func RemoveProperty(_ no: Int32)

 

void RemoveProperty(Int32 no)

 

Sub RemoveProperty(no As Int32)

Parameters:

  • no: index

SetName

Sets the name of this type

 

method SetName(aNamespace: String; aName: String)

 

void SetName(String aNamespace, String aName)

 

func SetName(_ aNamespace: String, _ aName: String)

 

void SetName(String aNamespace, String aName)

 

Sub SetName(aNamespace As String, aName As String)

Parameters:

  • aNamespace: new namespace (ignored for nested types)
  • aName: name of the type