--- a/JavaClass.st Mon May 20 23:58:01 2013 +0100
+++ b/JavaClass.st Tue May 21 00:17:00 2013 +0100
@@ -545,6 +545,23 @@
"Modified: / 12.11.1998 / 15:29:10 / cg"
! !
+!JavaClass methodsFor:'* uncategorized *'!
+
+includesInterface: interface
+ | cls |
+
+ self == interface ifTrue: [ ^ true ].
+
+ cls := self.
+ [ cls isJavaClass ] whileTrue:[
+ cls interfaces do:[:i|(i includesInterface: interface) ifTrue:[ ^ true ]].
+ cls := cls superclass.
+ ].
+ ^ false.
+
+ "Created: / 21-05-2013 / 00:06:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!JavaClass methodsFor:'accessing'!
allFields
@@ -1120,6 +1137,11 @@
"Created: / 18-03-2012 / 14:19:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+handlerForSignal:exceptionHandler context:theContext originator:originator
+ ^nil
+
+!
+
handles: anObject
Transcript showCR:'>>>> JavaClass>>handles: ' , anObject printString.
@@ -1129,11 +1151,6 @@
"Created: / 18-03-2012 / 14:19:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-handlerForSignal:exceptionHandler context:theContext originator:originator
- ^nil
-
-!
-
isControlInterrupt
^false
@@ -2520,14 +2537,14 @@
!
includesBehavior: aClass
- ^ (aClass isJavaClass not or: [ aClass isInterface not ])
- ifTrue: [ self name == aClass name or:[ super includesBehavior: aClass ]]
- ifFalse: [
- self name == aClass name or: [ self allInterfaces includes: aClass ]
- ].
+ ^self name == aClass name or:[
+ (aClass isJavaClass not or: [ aClass isInterface not ])
+ ifTrue: [super includesBehavior: aClass ]
+ ifFalse:[self includesInterface: aClass ]
+ ]
"Created: / 05-02-2011 / 23:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 11-02-2011 / 09:12:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 21-05-2013 / 00:06:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
isSubclassOf: aClass