src/JavaStringRef2.st
branchjk_new_structure
changeset 1026 5badd1d31864
parent 877 f5a5b93e1c78
child 1027 43dc608e14aa
equal deleted inserted replaced
1025:2c9c84bdd863 1026:5badd1d31864
    40      of one of the above copright owners.
    40      of one of the above copright owners.
    41 "
    41 "
    42 "{ Package: 'stx:libjava' }"
    42 "{ Package: 'stx:libjava' }"
    43 
    43 
    44 JavaRef2 subclass:#JavaStringRef2
    44 JavaRef2 subclass:#JavaStringRef2
    45 	instanceVariableNames:'nameIndex'
    45 	instanceVariableNames:'valueIndex'
    46 	classVariableNames:''
    46 	classVariableNames:''
    47 	poolDictionaries:''
    47 	poolDictionaries:''
    48 	category:'Languages-Java-Reader-Support-new'
    48 	category:'Languages-Java-Reader-Support-new'
    49 !
    49 !
    50 
    50 
    93      of one of the above copright owners.
    93      of one of the above copright owners.
    94 
    94 
    95 "
    95 "
    96 ! !
    96 ! !
    97 
    97 
       
    98 !JavaStringRef2 class methodsFor:'instance creation'!
       
    99 
       
   100 in: aJavaConstantPool withValueAt: valueIndex 
       
   101 ^ self basicNew initializeIn: aJavaConstantPool withValueAt: valueIndex.
       
   102 
       
   103 "Created: / 10-05-2011 / 14:56:15 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
       
   104 ! !
       
   105 
    98 !JavaStringRef2 methodsFor:'accessing'!
   106 !JavaStringRef2 methodsFor:'accessing'!
    99 
   107 
   100 = another 
   108 = another 
   101     another isJavaRef ifFalse: [^false].
   109     another isJavaRef ifFalse: [ ^ false ].
   102     constantPool = another constantPool ifFalse: [^ false].
   110     constantPool = another constantPool ifFalse: [ ^ false ].
   103     nameIndex = another nameIndex ifFalse: [^false].
   111     valueIndex = another valueIndex ifFalse: [ ^ false ].
   104     ^ true.
   112     ^ true.
   105 
   113 
   106     "Created: / 13-05-2011 / 17:19:56 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   114     "Created: / 13-05-2011 / 17:19:56 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   107 !
   115 !
   108 
   116 
   111 
   119 
   112     "Created: / 13-05-2011 / 17:20:42 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   120     "Created: / 13-05-2011 / 17:20:42 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   113 !
   121 !
   114 
   122 
   115 findResolvedValue
   123 findResolvedValue
   116     valueCache := Java as_String: (constantPool at: nameIndex).
   124     valueCache := Java as_String: (constantPool at: valueIndex).
   117     ^ valueCache.
   125     ^ valueCache.
   118 
   126 
   119     "Created: / 13-05-2011 / 17:21:49 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   127     "Created: / 13-05-2011 / 17:21:49 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   120 !
   128 !
   121 
   129 
   122 hash
   130 hash
   123     ^ constantPool hash bitXor: nameIndex hash.
   131     ^ constantPool hash bitXor: valueIndex hash.
   124 
   132 
   125     "Created: / 13-05-2011 / 17:20:22 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   133     "Created: / 13-05-2011 / 17:20:22 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   126 !
   134 !
   127 
   135 
   128 invalidateForClass: internalJavaClassName
   136 invalidateForClass: internalJavaClassName
   131 
   139 
   132     "Created: / 13-05-2011 / 17:22:34 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   140     "Created: / 13-05-2011 / 17:22:34 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   133 !
   141 !
   134 
   142 
   135 name
   143 name
   136     ^ constantPool at: nameIndex.
   144     "dont use me, I'm here just because marcel was not sure he found and fixed all senders"
       
   145     self breakPoint: #mh.
       
   146     ^ constantPool at: valueIndex.
   137 
   147 
   138     "Created: / 13-05-2011 / 17:23:11 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   148     "Created: / 13-05-2011 / 17:23:11 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
       
   149 !
       
   150 
       
   151 value
       
   152     ^ constantPool at: valueIndex.
       
   153 
       
   154     "Created: / 13-05-2011 / 17:23:11 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
       
   155 ! !
       
   156 
       
   157 !JavaStringRef2 methodsFor:'initialization'!
       
   158 
       
   159 initializeIn: aJavaConstantPool withValueAt: valueCPIndex 
       
   160 valueIndex := valueCPIndex.
       
   161 constantPool := aJavaConstantPool.
       
   162     super initialize.
       
   163 ! !
       
   164 
       
   165 !JavaStringRef2 methodsFor:'queries'!
       
   166 
       
   167 isJavaClassOrStringRef
       
   168 ^ true.
       
   169 
       
   170 "Created: / 11-04-2011 / 19:10:00 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
   139 ! !
   171 ! !
   140 
   172 
   141 !JavaStringRef2 class methodsFor:'documentation'!
   173 !JavaStringRef2 class methodsFor:'documentation'!
   142 
   174 
   143 version_SVN
   175 version_SVN