C# Class Monobjc.Tools.Generator.Generators.MethodGenerator

Code generator for method.
Inheritance: BaseGenerator
Exibir arquivo Open project: Monobjc/monobjc-tools

Public Methods

Method Description
Generate ( BaseEntity entity ) : void
Generate ( ClassEntity classEntity, MethodEntity methodEntity, bool implementation = true, bool extension = false, bool markedAsNew = false ) : void

Generates the specified entity.

GenerateConstructor ( ClassEntity classEntity, MethodEntity methodEntity ) : void

Protected Methods

Method Description
AppendDocumentation ( MethodEntity methodEntity, bool extensionParameter = false, bool opaqueParameter = false ) : void
AreMethodTypesEqual ( MethodEntity methodEntity1, MethodEntity methodEntity2 ) : bool
CollectInformations ( MethodEntity methodEntity, bool &needStorage, bool &varargs ) : void
GenerateLocalsAllocation ( int indent, MethodEntity methodEntity, MethodEntity innerMethodEntity ) : void
GenerateLocalsDeallocation ( int indent, MethodEntity methodEntity, MethodEntity innerMethodEntity ) : void
GenerateLocalsMarshalling ( int indent, MethodEntity methodEntity, MethodEntity innerMethodEntity ) : void
GenerateLocalsUnmarshalling ( int indent, MethodEntity methodEntity, MethodEntity innerMethodEntity ) : void
GenerateMethodBody ( int indent, string target, MethodEntity methodEntity, MethodEntity innerMethodEntity, bool needStorage, bool varargs ) : void
GetKeywords ( MethodEntity methodEntity, bool implementation, bool extension, bool markedAsNew ) : String
GetMessageParameterList ( MethodEntity methodEntity, MethodEntity innerMethodEntity, bool withColonFirst ) : String

Private Methods

Method Description
DeriveMethodEntity ( MethodEntity methodEntity, bool is64Bits ) : MethodEntity
GenerateConstructorBody ( int indent, string target, MethodEntity methodEntity, MethodEntity innerMethodEntity, bool needStorage, bool varargs ) : void
GetExtraParameter ( ClassEntity classEntity, MethodEntity methodEntity, bool extension ) : string
GetMethodInvocation ( string target, MethodEntity methodEntity, MethodEntity innerMethodEntity, bool hasReturn, bool varargs ) : string
GetTarget ( ClassEntity classEntity, MethodEntity methodEntity, bool extension ) : String

Method Details

AppendDocumentation() protected method

protected AppendDocumentation ( MethodEntity methodEntity, bool extensionParameter = false, bool opaqueParameter = false ) : void
methodEntity MethodEntity
extensionParameter bool
opaqueParameter bool
return void

AreMethodTypesEqual() protected static method

protected static AreMethodTypesEqual ( MethodEntity methodEntity1, MethodEntity methodEntity2 ) : bool
methodEntity1 MethodEntity
methodEntity2 MethodEntity
return bool

CollectInformations() protected static method

protected static CollectInformations ( MethodEntity methodEntity, bool &needStorage, bool &varargs ) : void
methodEntity MethodEntity
needStorage bool
varargs bool
return void

Generate() public method

public Generate ( BaseEntity entity ) : void
entity BaseEntity
return void

Generate() public method

Generates the specified entity.
public Generate ( ClassEntity classEntity, MethodEntity methodEntity, bool implementation = true, bool extension = false, bool markedAsNew = false ) : void
classEntity Monobjc.Tools.Generator.Model.ClassEntity The class entity.
methodEntity MethodEntity The method entity.
implementation bool if set to true generate the implementation.
extension bool if set to true this method is an extension method.
markedAsNew bool
return void

GenerateConstructor() public method

public GenerateConstructor ( ClassEntity classEntity, MethodEntity methodEntity ) : void
classEntity Monobjc.Tools.Generator.Model.ClassEntity
methodEntity MethodEntity
return void

GenerateLocalsAllocation() protected method

protected GenerateLocalsAllocation ( int indent, MethodEntity methodEntity, MethodEntity innerMethodEntity ) : void
indent int
methodEntity MethodEntity
innerMethodEntity MethodEntity
return void

GenerateLocalsDeallocation() protected method

protected GenerateLocalsDeallocation ( int indent, MethodEntity methodEntity, MethodEntity innerMethodEntity ) : void
indent int
methodEntity MethodEntity
innerMethodEntity MethodEntity
return void

GenerateLocalsMarshalling() protected method

protected GenerateLocalsMarshalling ( int indent, MethodEntity methodEntity, MethodEntity innerMethodEntity ) : void
indent int
methodEntity MethodEntity
innerMethodEntity MethodEntity
return void

GenerateLocalsUnmarshalling() protected method

protected GenerateLocalsUnmarshalling ( int indent, MethodEntity methodEntity, MethodEntity innerMethodEntity ) : void
indent int
methodEntity MethodEntity
innerMethodEntity MethodEntity
return void

GenerateMethodBody() protected method

protected GenerateMethodBody ( int indent, string target, MethodEntity methodEntity, MethodEntity innerMethodEntity, bool needStorage, bool varargs ) : void
indent int
target string
methodEntity MethodEntity
innerMethodEntity MethodEntity
needStorage bool
varargs bool
return void

GetKeywords() protected static method

protected static GetKeywords ( MethodEntity methodEntity, bool implementation, bool extension, bool markedAsNew ) : String
methodEntity MethodEntity
implementation bool
extension bool
markedAsNew bool
return String

GetMessageParameterList() protected static method

protected static GetMessageParameterList ( MethodEntity methodEntity, MethodEntity innerMethodEntity, bool withColonFirst ) : String
methodEntity MethodEntity
innerMethodEntity MethodEntity
withColonFirst bool
return String