LLVMModule.st
changeset 0 38af781b75ab
child 1 e3dcb6272f0b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LLVMModule.st	Tue Jul 07 23:11:41 2015 +0100
@@ -0,0 +1,37 @@
+"{ Package: 'jv:libllvms' }"
+
+"{ NameSpace: Smalltalk }"
+
+ExternalAddress subclass:#LLVMModule
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:'LLVMTypeKind'
+	category:'LLVM-Core'
+!
+
+!LLVMModule class methodsFor:'instance creation'!
+
+newWithName: name
+    ^ LLVM ModuleCreateWithName: name
+
+    "Created: / 07-07-2015 / 20:22:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!LLVMModule methodsFor:'adding & removing'!
+
+addFunctionNamed: name type: type
+    self assert: name isSingleByteString.
+    self assert: type kind == LLVMFunctionTypeKind.
+    ^ LLVM AddFunction: self _: name _: type.
+
+    "Created: / 07-07-2015 / 21:59:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!LLVMModule methodsFor:'debugging'!
+
+dump
+    LLVM DumpModule: self.
+
+    "Created: / 07-07-2015 / 22:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+