LLVMObject.st
changeset 33 feabf14b6c1d
parent 27 b26354bbff25
child 37 0933f973bc22
equal deleted inserted replaced
32:1378060fadd6 33:feabf14b6c1d
    50     ^ self == LLVMObject.
    50     ^ self == LLVMObject.
    51 ! !
    51 ! !
    52 
    52 
    53 !LLVMObject methodsFor:'assertions'!
    53 !LLVMObject methodsFor:'assertions'!
    54 
    54 
       
    55 assertIsBasicBlock: value 
       
    56     <resource: #skipInDebuggersWalkback>
       
    57 
       
    58     self assert:(value isKindOf: LLVMBasicBlock) message: 'value is not an LLVM basic block'
       
    59 
       
    60     "Created: / 15-08-2015 / 23:45:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    61 !
       
    62 
    55 assertIsBasicBlockValue:value 
    63 assertIsBasicBlockValue:value 
    56     <resource: #skipInDebuggersWalkback>
    64     <resource: #skipInDebuggersWalkback>
    57 
    65 
    58     self assert:value isLLVMValue.
    66     self assert:value isLLVMValue.
    59     self assert:value isBasicBlockValue
    67     self assert:value isBasicBlockValue
    60 
    68 
    61     "Created: / 08-08-2015 / 02:43:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    69     "Created: / 08-08-2015 / 02:43:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    62 !
    70 !
    63 
    71 
       
    72 assertIsBoolean: value
       
    73     <resource: #skipInDebuggersWalkback>
       
    74 
       
    75     self assert: value isBoolean message: 'value is not a boolean'.
       
    76 
       
    77     "Created: / 13-08-2015 / 06:52:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    78 !
       
    79 
    64 assertIsFunctionValue: value
    80 assertIsFunctionValue: value
    65     <resource: #skipInDebuggersWalkback>
    81     <resource: #skipInDebuggersWalkback>
    66 
    82 
    67     self assert: value isLLVMFunction message: 'value is not an LLVMFunction'.
    83     self assert: value isLLVMFunction message: 'value is not an LLVMFunction'.
    68 
    84 
    69     "Created: / 10-08-2015 / 18:55:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    85     "Created: / 10-08-2015 / 18:55:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    86 !
       
    87 
       
    88 assertIsInteger64Unsigned:value 
       
    89     <resource: #skipInDebuggersWalkback>
       
    90 
       
    91     self assert: value isInteger message: 'value is not an integer'.
       
    92     self assert: (value between: 0 and: 16rFFFFFFFFFFFFFFFF) message: 'value out of range'
       
    93 
       
    94     "Created: / 14-08-2015 / 07:32:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    70 !
    95 !
    71 
    96 
    72 assertIsIntegerOrIntegerVectorValue:value 
    97 assertIsIntegerOrIntegerVectorValue:value 
    73     <resource: #skipInDebuggersWalkback>
    98     <resource: #skipInDebuggersWalkback>
    74 
    99 
    76     self assert:(value isIntegerOrIntegerVectorValue)
   101     self assert:(value isIntegerOrIntegerVectorValue)
    77 
   102 
    78     "Modified (format): / 08-08-2015 / 02:41:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   103     "Modified (format): / 08-08-2015 / 02:41:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    79 !
   104 !
    80 
   105 
    81 assertIsIntegerUnsigned: value
   106 assertIsIntegerUnsigned:value 
    82     <resource: #skipInDebuggersWalkback>
   107     <resource: #skipInDebuggersWalkback>
    83 
   108 
    84     self assert:  value isInteger message: 'value is not an integer'.
   109     self assert: value isInteger message: 'value is not an integer'.
    85     self assert: (value between: 0 and: 16rFFFFFFFF) message: 'value out of range'.
   110     self assert: (value between: 0 and: 16rFFFFFFFF) message: 'value out of range'
    86 
   111 
    87     "Created: / 13-08-2015 / 18:57:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   112     "Created: / 13-08-2015 / 06:49:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   113 !
       
   114 
       
   115 assertIsMetadata: value
       
   116     <resource: #skipInDebuggersWalkback>
       
   117 
       
   118     self assert: value isLLVMMetadata message: 'value is not an LLVMMetadata'.
       
   119 
       
   120     "Created: / 14-08-2015 / 08:50:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   121 !
       
   122 
       
   123 assertIsMetadataArray: values
       
   124     <resource: #skipInDebuggersWalkback>
       
   125 
       
   126     self assert: values isSequenceable message: 'values is not a sequenceable collection'.
       
   127     values do:[:value | 
       
   128         self assertIsMetadata: value.  
       
   129     ].
       
   130 
       
   131     "Created: / 14-08-2015 / 08:50:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    88 !
   132 !
    89 
   133 
    90 assertIsString:aString 
   134 assertIsString:aString 
    91     <resource: #skipInDebuggersWalkback>
   135     <resource: #skipInDebuggersWalkback>
    92 
   136 
    93     self assert:aString isSingleByteString description:'string is not a valid LLVM name (twine)'
   137     self assert:(aString isSymbol or:[aString isSingleByteString]) description:'string is not a valid LLVM name (twine)'
    94 
   138 
    95     "Created: / 07-08-2015 / 18:38:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   139     "Created: / 07-08-2015 / 18:38:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    96     "Modified (format): / 08-08-2015 / 02:41:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   140     "Modified: / 13-08-2015 / 07:01:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    97 !
   141 !
    98 
   142 
    99 assertIsType: type
   143 assertIsType: type
   100      <resource: #skipInDebuggersWalkback>
   144      <resource: #skipInDebuggersWalkback>
   101 
   145