This contains the foundation for the new binding as well as early work on Module and Type.
25 lines
1 KiB
Python
25 lines
1 KiB
Python
from binding import *
|
|
from namespace import llvm
|
|
from LLVMContext import LLVMContext
|
|
from StringRef import StringRef
|
|
from raw_ostream import raw_svector_ostream_helper
|
|
from AssemblyAnnotationWriter import AssemblyAnnotationWriter
|
|
|
|
Module = llvm.Class()
|
|
Module.include.add("llvm/Module.h")
|
|
|
|
new = Module.new(StringRef.From(str), LLVMContext.Ref)
|
|
delete = Module.delete()
|
|
getModuleIdentifier = Module.method(ConstStdString.To(str))
|
|
setModuleIdentifier = Module.method(Void, StringRef.From(str))
|
|
setDataLayout = Module.method(Void, StringRef.From(str))
|
|
setTargetTriple = Module.method(Void, StringRef.From(str))
|
|
setModuleInlineAsm = Module.method(Void, StringRef.From(str))
|
|
appendModuleInlineAsm = Module.method(Void, StringRef.From(str))
|
|
getContext = Module.method(LLVMContext.Ref)
|
|
dump = Module.method(Void)
|
|
print_ = Module.method(Void, raw_svector_ostream_helper.Ref,
|
|
AssemblyAnnotationWriter.Pointer)
|
|
print_.realname = 'print'
|
|
#getOrInsertFunction = Module.method(Constant, StringRef.From(str), FunctionType.Pointer)
|
|
|