Behavior.st
changeset 18364 a693511a7c46
parent 18353 83774b46e6c5
child 18366 a6e62e167c32
child 18367 d657e5e06c1d
--- a/Behavior.st	Mon May 18 02:08:20 2015 +0200
+++ b/Behavior.st	Mon May 18 02:16:20 2015 +0200
@@ -2507,7 +2507,9 @@
 
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
-    return __c__._RETURN( self.basicNew() );
+    if (anInteger.isSmallInteger()) {
+	return __c__._RETURN( self.basicNew( anInteger.intValue()) );
+    }
 #else
     OBJ newobj;
     unsigned INT nInstVars;
@@ -3911,6 +3913,18 @@
     "return true, if I am a subclass of the argument, aClass"
 
 %{  /* NOCONTEXT */
+#ifdef __SCHTEAM__
+    STClass theClass = self.superClazz();
+
+    while (theClass != null) {
+	if (theClass == aClass) {
+	    return __c__._RETURN_true();
+	}
+	theClass = theClass.superClazz();
+    }
+    return __c__._RETURN_false();
+    /* NOTREACHED */
+#else
     OBJ __theClass = __INST(superclass);
     int n = 0;
 
@@ -3927,6 +3941,7 @@
     }
     RETURN (false);
 vmError: ;
+#endif /* not SCHTEAM */
 %}.
     VMInternalError raiseErrorString:'deep inheritance'.
 
@@ -4057,9 +4072,9 @@
      instances of SmallInteger and UndefinedObject"
 
     self allInstancesDo:[:anObject |
-        (predicate value:anObject) ifTrue:[
-            action value:anObject
-        ].
+	(predicate value:anObject) ifTrue:[
+	    action value:anObject
+	].
     ].
 
     "
@@ -5282,10 +5297,10 @@
 !Behavior class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Behavior.st,v 1.375 2015-05-16 09:51:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Behavior.st,v 1.376 2015-05-18 00:16:20 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/Behavior.st,v 1.375 2015-05-16 09:51:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Behavior.st,v 1.376 2015-05-18 00:16:20 cg Exp $'
 ! !