LLVMMetadata.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 06 Jul 2016 09:53:56 +0100
changeset 70 ced2a5c16e70
parent 41 e4cbc8e75207
child 74 47bf2a306c14
permissions -rw-r--r--
Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics For those, use specialized IR builder routines rather than manually calling the intrinsic. The problem which the latter is that those instrinsics are overloaded and - for reason not yet known - retrieving them cause crash. So better strick to LLVM way of doing so - through IRBuilder.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
    Copyright (C) 2015-now Jan Vrany
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
    This code is not an open-source (yet). You may use this code
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
    for your own experiments and projects, given that:
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
    * all modification to the code will be sent to the
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
      original author for inclusion in future releases
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
    * this is not used in any commercial software
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
    This license is provisional and may (will) change in
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
    a future.
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
"
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
"{ Package: 'jv:llvm_s' }"
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
"{ NameSpace: Smalltalk }"
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    18
LLVMObject subclass:#LLVMMetadata
29
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	instanceVariableNames:''
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	classVariableNames:''
41
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    21
	poolDictionaries:'LLVMMetadataKind'
29
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
	category:'LLVM-S-Core'
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
!LLVMMetadata class methodsFor:'documentation'!
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
copyright
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
"
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    Copyright (C) 2015-now Jan Vrany
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    This code is not an open-source (yet). You may use this code
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
    for your own experiments and projects, given that:
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
    * all modification to the code will be sent to the
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
      original author for inclusion in future releases
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    * this is not used in any commercial software
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    This license is provisional and may (will) change in
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    a future.
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
"
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
! !
6ea02617c9ab Added bindings to LLVM C API Extensions library.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
41
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    43
!LLVMMetadata methodsFor:'accessing'!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    44
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    45
kind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    46
    ^ LLVMCEXT GetMedadataKind: self
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    47
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    48
    "Created: / 17-09-2015 / 16:42:52 / 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: 33
diff changeset
    49
! !
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    50
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    51
!LLVMMetadata methodsFor:'converting'!
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    52
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    53
asLLVMMetadata
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    54
    ^ self
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    55
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    56
    "Created: / 15-08-2015 / 06:41:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    57
!
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    58
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    59
asLLVMValue
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    60
    ^ LLVMCEXT MetadataAsValue: self.
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    61
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    62
    "Created: / 14-08-2015 / 16:35:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    63
! !
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    64
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    65
!LLVMMetadata methodsFor:'testing'!
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    66
41
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    67
isDIBasicType
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    68
    ^ self kind == DIBasicTypeKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    69
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    70
    "Created: / 17-09-2015 / 16:48:27 / 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: 33
diff changeset
    71
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    72
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    73
isDICompileUnit
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    74
    ^ self kind == DICompileUnitKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    75
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    76
    "Created: / 17-09-2015 / 16:47:22 / 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: 33
diff changeset
    77
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    78
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    79
isDICompositeType
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    80
    ^ self kind == DICompositeTypeKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    81
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    82
    "Created: / 17-09-2015 / 16:48:50 / 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: 33
diff changeset
    83
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    84
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    85
isDIDerivedType
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    86
    ^ self kind == DIDerivedTypeKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    87
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    88
    "Created: / 17-09-2015 / 16:48:37 / 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: 33
diff changeset
    89
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    90
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    91
isDIEnumerator
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    92
    ^ self kind == DIEnumeratorKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    93
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    94
    "Created: / 17-09-2015 / 16:45:29 / 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: 33
diff changeset
    95
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    96
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    97
isDIExpression
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    98
    ^ self kind == DIExpressionKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    99
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   100
    "Created: / 17-09-2015 / 16:45:12 / 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: 33
diff changeset
   101
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   102
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   103
isDIFile
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   104
    ^ self kind == DIFileKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   105
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   106
    "Created: / 17-09-2015 / 16:47:29 / 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: 33
diff changeset
   107
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   108
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   109
isDIGlobalVariable
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   110
    ^ self kind == DIGlobalVariableKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   111
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   112
    "Created: / 17-09-2015 / 16:47:01 / 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: 33
diff changeset
   113
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   114
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   115
isDIImportedEntity
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   116
    ^ self kind == DIImportedEntityKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   117
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   118
    "Created: / 17-09-2015 / 16:45:48 / 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: 33
diff changeset
   119
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   120
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   121
isDILexicalBlock
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   122
    ^ self kind == DILexicalBlockKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   123
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   124
    "Created: / 17-09-2015 / 16:48:10 / 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: 33
diff changeset
   125
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   126
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   127
isDILexicalBlockFile
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   128
    ^ self kind == DILexicalBlockFileKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   129
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   130
    "Created: / 17-09-2015 / 16:48:15 / 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: 33
diff changeset
   131
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   132
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   133
isDILocalScope
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   134
    ^ { DILexicalBlockKind . DILexicalBlockFileKind . DISubprogramKind } includes: self kind.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   135
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   136
    "Created: / 17-09-2015 / 16:59:53 / 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: 33
diff changeset
   137
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   138
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   139
isDILocalVariable
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   140
    ^ self kind == DILocalVariableKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   141
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   142
    "Created: / 17-09-2015 / 16:46:50 / 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: 33
diff changeset
   143
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   144
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   145
isDILocation
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   146
    ^ self kind == DILocationKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   147
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   148
    "Created: / 17-09-2015 / 16:43:37 / 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: 33
diff changeset
   149
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   150
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   151
isDINamespace
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   152
    ^ self kind == DINamespaceKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   153
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   154
    "Created: / 17-09-2015 / 16:47:38 / 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: 33
diff changeset
   155
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   156
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   157
isDIObjCProperty
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   158
    ^ self kind == DIObjCPropertyKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   159
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   160
    "Created: / 17-09-2015 / 16:45:58 / 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: 33
diff changeset
   161
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   162
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   163
isDIScope
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   164
    ^ { DILexicalBlockKind . DILexicalBlockFileKind . DISubprogramKind .
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   165
        DICompileUnitKind . DIFileKind . DINamespaceKind } includes: self kind.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   166
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   167
    "Created: / 17-09-2015 / 17:05:11 / 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: 33
diff changeset
   168
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   169
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   170
isDISubprogram
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   171
    ^ self kind == DISubprogramKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   172
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   173
    "Created: / 17-09-2015 / 16:47:57 / 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: 33
diff changeset
   174
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   175
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   176
isDISubprogramType
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   177
    ^ self kind == DISubroutineTypeKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   178
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   179
    "Created: / 17-09-2015 / 16:49: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: 33
diff changeset
   180
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   181
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   182
isDISubrange
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   183
    ^ self kind == DISubrangeKind
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   184
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   185
    "Created: / 17-09-2015 / 16:46:22 / 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: 33
diff changeset
   186
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   187
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   188
isDIType
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   189
    ^ { DIBasicTypeKind . DIDerivedTypeKind . DICompositeTypeKind . DISubroutineTypeKind } includes: self kind.
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   190
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   191
    "Created: / 17-09-2015 / 16:59:06 / 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: 33
diff changeset
   192
!
e4cbc8e75207 Added testing and assestion methods to test metadata nodes for their type
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   193
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   194
isLLVMMetadata
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   195
    ^ true
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   196
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   197
    "Created: / 14-08-2015 / 08:51:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   198
! !
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   199