JavaInterfaceMethodRef2.st
branchdirectory_structure_refactoring
changeset 1818 2e5ed72e7dfd
parent 1353 2968f8acb434
child 1864 60a8dc26c8c6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaInterfaceMethodRef2.st	Thu Nov 15 22:10:02 2012 +0000
@@ -0,0 +1,106 @@
+"
+ COPYRIGHT (c) 1996-2011 by Claus Gittinger
+
+ New code and modifications done at SWING Research Group [1]:
+
+ COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+                            SWING Research Group, Czech Technical University in Prague
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+
+ [1] Code written at SWING Research Group contains a signature
+     of one of the above copright owners. For exact set of such code,
+     see the differences between this version and version stx:libjava
+     as of 1.9.2010
+"
+"{ Package: 'stx:libjava' }"
+
+JavaMethodRef2 subclass:#JavaInterfaceMethodRef2
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Languages-Java-Reader-Support-new'
+!
+
+!JavaInterfaceMethodRef2 class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 1996-2011 by Claus Gittinger
+
+ New code and modifications done at SWING Research Group [1]:
+
+ COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+                            SWING Research Group, Czech Technical University in Prague
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+
+ [1] Code written at SWING Research Group contains a signature
+     of one of the above copright owners. For exact set of such code,
+     see the differences between this version and version stx:libjava
+     as of 1.9.2010
+
+"
+! !
+
+!JavaInterfaceMethodRef2 methodsFor:'private - resolving'!
+
+findResolvedStaticValue
+    self halt: 'tell mh if you have valid use case for calling me'.
+
+    "Created: / 28-04-2011 / 22:53:16 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Modified: / 18-05-2011 / 12:44:49 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+!
+
+findResolvedValue
+    "Resolve reference and set valueCache."
+    
+    valueCache := JavaResolver uniqueInstance 
+                resolveInterfaceMethodIdentifiedByRef: self.
+classCache := (constantPool at: classRefIndex) resolve.
+    classCache ifNil: [ self breakPoint: #mh ].
+    nameAndTypeCache := (constantPool at: nameAndTypeIndex) resolve.
+    nameAndTypeCache ifNil: [ self breakPoint: #mh ].
+
+    "Modified: / 18-05-2011 / 12:44:44 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+!
+
+findResolvedValue: doClassInit
+    "Resolve reference and set valueCache."
+    
+    valueCache := JavaResolver uniqueInstance 
+                resolveInterfaceMethodIdentifiedByRef: self.
+    classCache := (constantPool at: classRefIndex) resolve: doClassInit.
+    classCache ifNil: [ self breakPoint: #mh ].
+    nameAndTypeCache := (constantPool at: nameAndTypeIndex) resolve.
+    nameAndTypeCache ifNil: [ self breakPoint: #mh ].
+
+    "Modified: / 18-05-2011 / 12:44:44 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Created: / 09-02-2012 / 23:10:44 / mh <hlopik@gmail.com>"
+! !
+
+!JavaInterfaceMethodRef2 methodsFor:'queries'!
+
+isJavaInterfaceMethodRef
+    "we will see if this is expected behavior"
+    
+    ^ true.
+
+    "Created: / 14-04-2011 / 15:33:46 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+! !
+
+!JavaInterfaceMethodRef2 class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id$'
+! !