LLVMObject.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 30 Aug 2016 16:57:29 +0100
changeset 78 7a4c769a9fea
parent 70 ced2a5c16e70
permissions -rw-r--r--
llvm_c_ext: Improved `LLVMSetMetadata2()` to support also function values ...in addition to instruction values. This is handy to attach data to functions, such as debugging information. Added Smalltalk API for setting metadata nodes on instructions and functions.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     1
"
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     2
    Copyright (C) 2015-now Jan Vrany
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     3
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     4
    This code is not an open-source (yet). You may use this code
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     5
    for your own experiments and projects, given that:
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     6
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     7
    * all modification to the code will be sent to the
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     8
      original author for inclusion in future releases
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     9
    * this is not used in any commercial software
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    10
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    11
    This license is provisional and may (will) change in
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    12
    a future.
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    13
"
12
f98e97fd02ef Package renamed from jv:libllvms to jv:llvm_s
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    14
"{ Package: 'jv:llvm_s' }"
1
e3dcb6272f0b Introduced abstract superclasses LLVMObject and LLVMDisposableObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
e3dcb6272f0b Introduced abstract superclasses LLVMObject and LLVMDisposableObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
"{ NameSpace: Smalltalk }"
e3dcb6272f0b Introduced abstract superclasses LLVMObject and LLVMDisposableObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
e3dcb6272f0b Introduced abstract superclasses LLVMObject and LLVMDisposableObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
ExternalAddress subclass:#LLVMObject
e3dcb6272f0b Introduced abstract superclasses LLVMObject and LLVMDisposableObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	instanceVariableNames:''
e3dcb6272f0b Introduced abstract superclasses LLVMObject and LLVMDisposableObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	classVariableNames:''
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    21
	poolDictionaries:'LLVMTypeKind'
13
fa967c0e1827 Renamed class categories to begin with LLVM-S
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    22
	category:'LLVM-S-Internal'
1
e3dcb6272f0b Introduced abstract superclasses LLVMObject and LLVMDisposableObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!
e3dcb6272f0b Introduced abstract superclasses LLVMObject and LLVMDisposableObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
14
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    25
!LLVMObject class methodsFor:'documentation'!
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    26
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    27
copyright
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    28
"
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    29
    Copyright (C) 2015-now Jan Vrany
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    30
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    31
    This code is not an open-source (yet). You may use this code
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    32
    for your own experiments and projects, given that:
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    33
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    34
    * all modification to the code will be sent to the
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    35
      original author for inclusion in future releases
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    36
    * this is not used in any commercial software
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    37
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    38
    This license is provisional and may (will) change in
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    39
    a future.
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    40
"
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    41
! !
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    42
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    43
!LLVMObject class methodsFor:'asserting'!
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    44
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    45
assertIsString:aString 
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    46
    <resource: #skipInDebuggersWalkBack>
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    47
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    48
    self assert:(aString isSymbol or:[aString isSingleByteString]) message:'string is not a valid LLVM name (twine)'
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    49
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    50
    "Created: / 14-09-2015 / 10:39:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    51
! !
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    52
27
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    53
!LLVMObject class methodsFor:'queries'!
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    54
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    55
isAbstract
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    56
    "Return if this class is an abstract class.
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    57
     True is returned here for myself only; false for subclasses.
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    58
     Abstract subclasses must redefine again."
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    59
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    60
    ^ self == LLVMObject.
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    61
! !
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
    62
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    63
!LLVMObject methodsFor:'assertions'!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    64
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    65
assertIsBasicBlock: value 
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    66
    <resource: #skipInDebuggersWalkBack>
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    67
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    68
    self assert:(value isKindOf: LLVMBasicBlock) message: 'value is not an LLVM basic block'
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    69
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    70
    "Created: / 15-08-2015 / 23:45:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    71
    "Modified: / 14-09-2015 / 11:08:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    72
!
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    73
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    74
assertIsBasicBlockValue:value 
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    75
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    76
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    77
    self assert:value isLLVMValue.
43
597181c496f0 Added value-kind testing functions to LLVMValue
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 41
diff changeset
    78
    self assert:value isBasicBlock
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    79
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    80
    "Created: / 08-08-2015 / 02:43:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43
597181c496f0 Added value-kind testing functions to LLVMValue
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 41
diff changeset
    81
    "Modified: / 17-09-2015 / 19:25:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    82
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    83
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    84
assertIsBoolean: value
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    85
    <resource: #skipInDebuggersWalkBack>
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    86
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    87
    self assert: value isBoolean message: 'value is not a boolean'.
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    88
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    89
    "Created: / 13-08-2015 / 06:52:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    90
    "Modified: / 14-09-2015 / 11:08:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    91
!
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
    92
41
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    93
assertIsDIBasicType: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    94
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    95
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    96
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    97
    self assert: value isDIBasicType message: 'value is not of type DIBasicType'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    98
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    99
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   100
assertIsDICompileUnit: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   101
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   102
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   103
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   104
    self assert: value isDICompileUnit message: 'value is not of type DICompileUnit'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   105
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   106
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   107
assertIsDICompositeType: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   108
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   109
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   110
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   111
    self assert: value isDICompositeType message: 'value is not of type DICompositeType'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   112
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   113
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   114
assertIsDIDerivedType: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   115
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   116
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   117
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   118
    self assert: value isDIDerivedType message: 'value is not of type DIDerivedType'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   119
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   120
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   121
assertIsDIEnumerator: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   122
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   123
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   124
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   125
    self assert: value isDIEnumerator message: 'value is not of type DIEnumerator'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   126
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   127
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   128
assertIsDIExpression: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   129
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   130
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   131
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   132
    self assert: value isDIExpression message: 'value is not of type DIExpression'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   133
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   134
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   135
assertIsDIFile: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   136
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   137
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   138
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   139
    self assert: value isDIFile message: 'value is not of type DIFile'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   140
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   141
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   142
assertIsDIGlobalVariable: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   143
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   144
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   145
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   146
    self assert: value isDIGlobalVariable message: 'value is not of type DIGlobalVariable'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   147
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   148
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   149
assertIsDIImportedEntity: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   150
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   151
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   152
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   153
    self assert: value isDIImportedEntity message: 'value is not of type DIImportedEntity'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   154
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   155
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   156
assertIsDILexicalBlock: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   157
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   158
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   159
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   160
    self assert: value isDILexicalBlock message: 'value is not of type DILexicalBlock'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   161
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   162
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   163
assertIsDILexicalBlockFile: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   164
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   165
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   166
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   167
    self assert: value isDILexicalBlockFile message: 'value is not of type DILexicalBlockFile'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   168
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   169
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   170
assertIsDILocalScope: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   171
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   172
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   173
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   174
    self assert: value isDILocalScope message: 'value is not of type DILocalScope'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   175
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   176
    "Created: / 17-09-2015 / 17:00:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   177
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   178
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   179
assertIsDILocalVariable: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   180
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   181
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   182
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   183
    self assert: value isDILocalVariable message: 'value is not of type DILocalVariable'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   184
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   185
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   186
assertIsDILocation: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   187
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   188
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   189
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   190
    self assert: value isDILocation message: 'value is not of type DILocation'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   191
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   192
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   193
assertIsDINamespace: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   194
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   195
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   196
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   197
    self assert: value isDINamespace message: 'value is not of type DINamespace'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   198
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   199
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   200
assertIsDIObjCProperty: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   201
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   202
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   203
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   204
    self assert: value isDIObjCProperty message: 'value is not of type DIObjCProperty'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   205
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   206
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   207
assertIsDIScope: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   208
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   209
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   210
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   211
    self assert: value isDIScope message: 'value is not of type DILocalScope'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   212
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   213
    "Created: / 17-09-2015 / 17:04:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   214
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   215
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   216
assertIsDISubprogram: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   217
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   218
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   219
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   220
    self assert: value isDISubprogram message: 'value is not of type DISubprogram'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   221
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   222
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   223
assertIsDISubprogramType: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   224
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   225
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   226
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   227
    self assert: value isDISubprogramType message: 'value is not of type DISubprogramType'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   228
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   229
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   230
assertIsDISubrange: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   231
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   232
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   233
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   234
    self assert: value isDISubrange message: 'value is not of type DISubrange'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   235
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   236
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   237
assertIsDIType: value
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   238
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   239
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   240
    self assert: value isLLVMMetadata message: 'value is not a LLVMMetadata'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   241
    self assert: value isDIType message: 'value is not of type DIType'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   242
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   243
    "Created: / 17-09-2015 / 17:00:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   244
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   245
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   246
assertIsDITypeArray: values
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   247
    <resource: #skipInDebuggersWalkBack>
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   248
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   249
    self assert: values isSequenceable message: 'values is not a sequenceable collection'.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   250
    values do:[:value | 
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   251
        self assertIsDIType: value.  
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   252
    ].
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   253
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   254
    "Created: / 17-09-2015 / 17:02:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   255
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   256
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   257
assertIsFunctionValue: value
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   258
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   259
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   260
    self assert: value isLLVMFunction message: 'value is not an LLVMFunction'.
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   261
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   262
    "Created: / 10-08-2015 / 18:55:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   263
    "Modified: / 14-09-2015 / 11:09:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   264
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   265
44
8cade0a4d22e IR Builder: Added #positionBefore:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
   266
assertIsInstruction:value 
8cade0a4d22e IR Builder: Added #positionBefore:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
   267
    <resource: #skipInDebuggersWalkBack>
8cade0a4d22e IR Builder: Added #positionBefore:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
   268
8cade0a4d22e IR Builder: Added #positionBefore:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
   269
    self assert:value isLLVMValue.
8cade0a4d22e IR Builder: Added #positionBefore:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
   270
    self assert:value isInstruction
8cade0a4d22e IR Builder: Added #positionBefore:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
   271
8cade0a4d22e IR Builder: Added #positionBefore:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
   272
    "Created: / 23-09-2015 / 21:29:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8cade0a4d22e IR Builder: Added #positionBefore:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
   273
!
8cade0a4d22e IR Builder: Added #positionBefore:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
   274
70
ced2a5c16e70 Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   275
assertIsInteger32Unsigned:value 
ced2a5c16e70 Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   276
    <resource: #skipInDebuggersWalkBack>
ced2a5c16e70 Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   277
ced2a5c16e70 Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   278
    self assert: value isInteger message: 'value is not an integer'.
ced2a5c16e70 Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   279
    self assert: (value between: 0 and: 16rFFFFFFFF) message: 'value out of range'
ced2a5c16e70 Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   280
ced2a5c16e70 Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   281
    "Created: / 06-07-2016 / 00:11:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ced2a5c16e70 Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   282
!
ced2a5c16e70 Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   283
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   284
assertIsInteger64Unsigned:value 
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   285
    <resource: #skipInDebuggersWalkBack>
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   286
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   287
    self assert: value isInteger message: 'value is not an integer'.
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   288
    self assert: (value between: 0 and: 16rFFFFFFFFFFFFFFFF) message: 'value out of range'
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   289
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   290
    "Created: / 14-08-2015 / 07:32:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   291
    "Modified: / 14-09-2015 / 11:09:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   292
!
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   293
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   294
assertIsIntegerOrIntegerVectorValue:value 
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   295
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   296
43
597181c496f0 Added value-kind testing functions to LLVMValue
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 41
diff changeset
   297
    | type |
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   298
43
597181c496f0 Added value-kind testing functions to LLVMValue
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 41
diff changeset
   299
    self assertIsValue: value.
597181c496f0 Added value-kind testing functions to LLVMValue
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 41
diff changeset
   300
    type := value type.
597181c496f0 Added value-kind testing functions to LLVMValue
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 41
diff changeset
   301
    self assert:(type isIntegerType or:[type isVectorType]) message: 'Value is not of integer or vector type'
597181c496f0 Added value-kind testing functions to LLVMValue
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 41
diff changeset
   302
597181c496f0 Added value-kind testing functions to LLVMValue
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 41
diff changeset
   303
    "Modified: / 17-09-2015 / 19:32:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   304
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   305
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   306
assertIsIntegerUnsigned:value 
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   307
    <resource: #skipInDebuggersWalkBack>
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   308
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   309
    self assert: value isInteger message: 'value is not an integer'.
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   310
    self assert: (value between: 0 and: 16rFFFFFFFF) message: 'value out of range'
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   311
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   312
    "Created: / 13-08-2015 / 06:49:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   313
    "Modified: / 14-09-2015 / 11:09:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   314
!
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   315
57
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   316
assertIsIntegerValue:value 
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   317
    <resource: #skipInDebuggersWalkBack>
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   318
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   319
    | type |
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   320
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   321
    self assertIsValue: value.
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   322
    type := value type.
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   323
    self assert:(type isIntegerType) message: 'Value is not of an integer type'
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   324
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   325
    "Created: / 11-02-2016 / 20:36:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   326
!
4ca7c3a327a2 LLVMDIBuilder: added API for more instructions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 44
diff changeset
   327
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   328
assertIsMetadata: value
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   329
    <resource: #skipInDebuggersWalkBack>
27
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   330
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   331
    self assert: value isLLVMMetadata message: 'value is not an LLVMMetadata'.
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   332
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   333
    "Created: / 14-08-2015 / 08:50:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   334
    "Modified: / 14-09-2015 / 11:09:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   335
!
27
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   336
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   337
assertIsMetadataArray: values
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   338
    <resource: #skipInDebuggersWalkBack>
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   339
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   340
    self assert: values isSequenceable message: 'values is not a sequenceable collection'.
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   341
    values do:[:value | 
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   342
        self assertIsMetadata: value.  
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   343
    ].
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   344
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 27
diff changeset
   345
    "Created: / 14-08-2015 / 08:50:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   346
    "Modified: / 14-09-2015 / 11:09:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
27
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   347
!
b26354bbff25 LLVM type system refactored to use a subclass per kind.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   348
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   349
assertIsString:aString 
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   350
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   351
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   352
    self assert:(aString isSymbol or:[aString isSingleByteString]) message:'string is not a valid LLVM name (twine)'
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   353
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   354
    "Created: / 07-08-2015 / 18:38:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   355
    "Modified: / 14-09-2015 / 11:09:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   356
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   357
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   358
assertIsType: type
41
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   359
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   360
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   361
    self assert: type isLLVMType message: 'value is not an LLVMType'.
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   362
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   363
    "Created: / 10-08-2015 / 06:26:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   364
    "Modified: / 14-09-2015 / 11:09:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
41
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   365
    "Modified (format): / 17-09-2015 / 16:51:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   366
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   367
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   368
assertIsTypeArray: types
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   369
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   370
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   371
    self assert: types isSequenceable message: 'types is not a sequenceable collection'.
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   372
    types do:[:type | 
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   373
        self assertIsType: type.  
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   374
    ].
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   375
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   376
    "Created: / 10-08-2015 / 17:08:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   377
    "Modified: / 14-09-2015 / 11:09:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   378
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   379
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   380
assertIsValue: value
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   381
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   382
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   383
    self assert: value isLLVMValue message: 'value is not an LLVMValue'.
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   384
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   385
    "Created: / 08-08-2015 / 03:11:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   386
    "Modified: / 14-09-2015 / 11:09:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   387
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   388
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   389
assertIsValue: value ofKind: kind
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   390
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   391
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   392
    self assert: value isLLVMValue message: 'value is not an LLVMValue'.
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   393
    self assert: value type kind = kind message: 'value has incorrect kind'
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   394
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   395
    "Created: / 10-08-2015 / 17:40:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   396
    "Modified: / 14-09-2015 / 11:09:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   397
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   398
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   399
assertIsValue: value ofType: type
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   400
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   401
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   402
    self assert: value isLLVMValue message: 'value is not an LLVMValue'.
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   403
    self assert: value type = type message: 'value has incorrect type'
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   404
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   405
    "Created: / 08-08-2015 / 02:49:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   406
    "Modified: / 14-09-2015 / 11:09:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   407
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   408
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   409
assertIsValueArray: values
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   410
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   411
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   412
    self assert: values isSequenceable message: 'values is not a sequenceable collection'.
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   413
    values do:[:value | 
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   414
        self assertIsValue: value.  
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   415
    ].
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   416
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   417
    "Created: / 10-08-2015 / 18:56:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   418
    "Modified: / 14-09-2015 / 11:09:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   419
!
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   420
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   421
assertIsValueOfSameType:value1 as:value2 
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   422
    <resource: #skipInDebuggersWalkBack>
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   423
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   424
    self assert: value1 type = value2 type message:'types of values differ!!'
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   425
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   426
    "Created: / 07-08-2015 / 18:37:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37
0933f973bc22 Add assertion to LLVMModule>>newWithName: to check for nil name. Fixed skip-in-debugger pragma (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   427
    "Modified: / 14-09-2015 / 11:09:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   428
! !
7e7ddd55174c Added support for intrinsics.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   429