LLVMModule.st
changeset 0 38af781b75ab
child 1 e3dcb6272f0b
equal deleted inserted replaced
-1:000000000000 0:38af781b75ab
       
     1 "{ Package: 'jv:libllvms' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
       
     4 
       
     5 ExternalAddress subclass:#LLVMModule
       
     6 	instanceVariableNames:''
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:'LLVMTypeKind'
       
     9 	category:'LLVM-Core'
       
    10 !
       
    11 
       
    12 !LLVMModule class methodsFor:'instance creation'!
       
    13 
       
    14 newWithName: name
       
    15     ^ LLVM ModuleCreateWithName: name
       
    16 
       
    17     "Created: / 07-07-2015 / 20:22:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    18 ! !
       
    19 
       
    20 !LLVMModule methodsFor:'adding & removing'!
       
    21 
       
    22 addFunctionNamed: name type: type
       
    23     self assert: name isSingleByteString.
       
    24     self assert: type kind == LLVMFunctionTypeKind.
       
    25     ^ LLVM AddFunction: self _: name _: type.
       
    26 
       
    27     "Created: / 07-07-2015 / 21:59:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    28 ! !
       
    29 
       
    30 !LLVMModule methodsFor:'debugging'!
       
    31 
       
    32 dump
       
    33     LLVM DumpModule: self.
       
    34 
       
    35     "Created: / 07-07-2015 / 22:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    36 ! !
       
    37