LLVMMetadata.st
changeset 41 e4cbc8e75207
parent 33 feabf14b6c1d
child 74 47bf2a306c14
equal deleted inserted replaced
40:d99596797aa1 41:e4cbc8e75207
    16 "{ NameSpace: Smalltalk }"
    16 "{ NameSpace: Smalltalk }"
    17 
    17 
    18 LLVMObject subclass:#LLVMMetadata
    18 LLVMObject subclass:#LLVMMetadata
    19 	instanceVariableNames:''
    19 	instanceVariableNames:''
    20 	classVariableNames:''
    20 	classVariableNames:''
    21 	poolDictionaries:''
    21 	poolDictionaries:'LLVMMetadataKind'
    22 	category:'LLVM-S-Core'
    22 	category:'LLVM-S-Core'
    23 !
    23 !
    24 
    24 
    25 !LLVMMetadata class methodsFor:'documentation'!
    25 !LLVMMetadata class methodsFor:'documentation'!
    26 
    26 
    38     This license is provisional and may (will) change in
    38     This license is provisional and may (will) change in
    39     a future.
    39     a future.
    40 "
    40 "
    41 ! !
    41 ! !
    42 
    42 
       
    43 !LLVMMetadata methodsFor:'accessing'!
       
    44 
       
    45 kind
       
    46     ^ LLVMCEXT GetMedadataKind: self
       
    47 
       
    48     "Created: / 17-09-2015 / 16:42:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    49 ! !
       
    50 
    43 !LLVMMetadata methodsFor:'converting'!
    51 !LLVMMetadata methodsFor:'converting'!
    44 
    52 
    45 asLLVMMetadata
    53 asLLVMMetadata
    46     ^ self
    54     ^ self
    47 
    55 
    54     "Created: / 14-08-2015 / 16:35:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    62     "Created: / 14-08-2015 / 16:35:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    55 ! !
    63 ! !
    56 
    64 
    57 !LLVMMetadata methodsFor:'testing'!
    65 !LLVMMetadata methodsFor:'testing'!
    58 
    66 
       
    67 isDIBasicType
       
    68     ^ self kind == DIBasicTypeKind
       
    69 
       
    70     "Created: / 17-09-2015 / 16:48:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    71 !
       
    72 
       
    73 isDICompileUnit
       
    74     ^ self kind == DICompileUnitKind
       
    75 
       
    76     "Created: / 17-09-2015 / 16:47:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    77 !
       
    78 
       
    79 isDICompositeType
       
    80     ^ self kind == DICompositeTypeKind
       
    81 
       
    82     "Created: / 17-09-2015 / 16:48:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    83 !
       
    84 
       
    85 isDIDerivedType
       
    86     ^ self kind == DIDerivedTypeKind
       
    87 
       
    88     "Created: / 17-09-2015 / 16:48:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    89 !
       
    90 
       
    91 isDIEnumerator
       
    92     ^ self kind == DIEnumeratorKind
       
    93 
       
    94     "Created: / 17-09-2015 / 16:45:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    95 !
       
    96 
       
    97 isDIExpression
       
    98     ^ self kind == DIExpressionKind
       
    99 
       
   100     "Created: / 17-09-2015 / 16:45:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   101 !
       
   102 
       
   103 isDIFile
       
   104     ^ self kind == DIFileKind
       
   105 
       
   106     "Created: / 17-09-2015 / 16:47:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   107 !
       
   108 
       
   109 isDIGlobalVariable
       
   110     ^ self kind == DIGlobalVariableKind
       
   111 
       
   112     "Created: / 17-09-2015 / 16:47:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   113 !
       
   114 
       
   115 isDIImportedEntity
       
   116     ^ self kind == DIImportedEntityKind
       
   117 
       
   118     "Created: / 17-09-2015 / 16:45:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   119 !
       
   120 
       
   121 isDILexicalBlock
       
   122     ^ self kind == DILexicalBlockKind
       
   123 
       
   124     "Created: / 17-09-2015 / 16:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   125 !
       
   126 
       
   127 isDILexicalBlockFile
       
   128     ^ self kind == DILexicalBlockFileKind
       
   129 
       
   130     "Created: / 17-09-2015 / 16:48:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   131 !
       
   132 
       
   133 isDILocalScope
       
   134     ^ { DILexicalBlockKind . DILexicalBlockFileKind . DISubprogramKind } includes: self kind.
       
   135 
       
   136     "Created: / 17-09-2015 / 16:59:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   137 !
       
   138 
       
   139 isDILocalVariable
       
   140     ^ self kind == DILocalVariableKind
       
   141 
       
   142     "Created: / 17-09-2015 / 16:46:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   143 !
       
   144 
       
   145 isDILocation
       
   146     ^ self kind == DILocationKind
       
   147 
       
   148     "Created: / 17-09-2015 / 16:43:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   149 !
       
   150 
       
   151 isDINamespace
       
   152     ^ self kind == DINamespaceKind
       
   153 
       
   154     "Created: / 17-09-2015 / 16:47:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   155 !
       
   156 
       
   157 isDIObjCProperty
       
   158     ^ self kind == DIObjCPropertyKind
       
   159 
       
   160     "Created: / 17-09-2015 / 16:45:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   161 !
       
   162 
       
   163 isDIScope
       
   164     ^ { DILexicalBlockKind . DILexicalBlockFileKind . DISubprogramKind .
       
   165         DICompileUnitKind . DIFileKind . DINamespaceKind } includes: self kind.
       
   166 
       
   167     "Created: / 17-09-2015 / 17:05:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   168 !
       
   169 
       
   170 isDISubprogram
       
   171     ^ self kind == DISubprogramKind
       
   172 
       
   173     "Created: / 17-09-2015 / 16:47:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   174 !
       
   175 
       
   176 isDISubprogramType
       
   177     ^ self kind == DISubroutineTypeKind
       
   178 
       
   179     "Created: / 17-09-2015 / 16:49:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   180 !
       
   181 
       
   182 isDISubrange
       
   183     ^ self kind == DISubrangeKind
       
   184 
       
   185     "Created: / 17-09-2015 / 16:46:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   186 !
       
   187 
       
   188 isDIType
       
   189     ^ { DIBasicTypeKind . DIDerivedTypeKind . DICompositeTypeKind . DISubroutineTypeKind } includes: self kind.
       
   190 
       
   191     "Created: / 17-09-2015 / 16:59:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   192 !
       
   193 
    59 isLLVMMetadata
   194 isLLVMMetadata
    60     ^ true
   195     ^ true
    61 
   196 
    62     "Created: / 14-08-2015 / 08:51:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   197     "Created: / 14-08-2015 / 08:51:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    63 ! !
   198 ! !