Class ModuleBuilder
A wrapper around an LLVM module that extends the wrapped module
with information relevant to managed languages.
Inheritance
ModuleBuilder
Assembly: Flame.Llvm.dll
Syntax
public sealed class ModuleBuilder
Constructors
|
Edit this page
View Source
Declaration
public ModuleBuilder(LLVMModuleRef module, TypeEnvironment typeSystem, NameMangler mangler, GCInterface gc, MetadataFormat metadata)
Parameters
Properties
|
Edit this page
View Source
Context
Declaration
public LLVMContextRef Context { get; }
Property Value
| Type |
Description |
| LLVMContextRef |
|
|
Edit this page
View Source
GC
Gets the application-GC interface for the module.
Declaration
public GCInterface GC { get; }
Property Value
| Type |
Description |
| GCInterface |
An application-GC interface.
|
|
Edit this page
View Source
Mangler
Gets the primary name mangler for this module.
Declaration
public NameMangler Mangler { get; }
Property Value
|
Edit this page
View Source
Gets the metadata format to use for the module.
Declaration
public MetadataFormat Metadata { get; }
Property Value
|
Edit this page
View Source
Module
Gets the LLVM module managed by this module builder.
Declaration
public LLVMModuleRef Module { get; }
Property Value
| Type |
Description |
| LLVMModuleRef |
An LLVM module.
|
|
Edit this page
View Source
TypeSystem
Gets the type system for this module.
Declaration
public TypeEnvironment TypeSystem { get; }
Property Value
Methods
|
Edit this page
View Source
DeclareMethod(IMethod)
Declaration
public LLVMValueRef DeclareMethod(IMethod method)
Parameters
| Type |
Name |
Description |
| IMethod |
method |
|
Returns
| Type |
Description |
| LLVMValueRef |
|
|
Edit this page
View Source
DefineMethod(IMethod, MethodBody)
Declaration
public void DefineMethod(IMethod method, MethodBody body)
Parameters
|
Edit this page
View Source
DefineStaticField(IField)
Declaration
public LLVMValueRef DefineStaticField(IField field)
Parameters
| Type |
Name |
Description |
| IField |
field |
|
Returns
| Type |
Description |
| LLVMValueRef |
|
|
Edit this page
View Source
GetFieldIndex(IField)
Declaration
public int GetFieldIndex(IField field)
Parameters
| Type |
Name |
Description |
| IField |
field |
|
Returns
|
Edit this page
View Source
GetFunctionPrototype(IMethod)
Declaration
public LLVMTypeRef GetFunctionPrototype(IMethod method)
Parameters
| Type |
Name |
Description |
| IMethod |
method |
|
Returns
| Type |
Description |
| LLVMTypeRef |
|
|
Edit this page
View Source
ImportType(IType)
Declaration
public LLVMTypeRef ImportType(IType type)
Parameters
| Type |
Name |
Description |
| IType |
type |
|
Returns
| Type |
Description |
| LLVMTypeRef |
|
|
Edit this page
View Source
SynthesizeMain(IMethod)
Declaration
public void SynthesizeMain(IMethod entryPoint)
Parameters
| Type |
Name |
Description |
| IMethod |
entryPoint |
|
|
Edit this page
View Source
TryGetFieldIndex(IField, out int)
Declaration
public bool TryGetFieldIndex(IField field, out int index)
Parameters
Returns