checkin from browser
authorcg
Tue, 10 Nov 1998 14:29:36 +0000
changeset 428 4b400c64ccec
parent 427 a7083b7a8724
child 429 99990a8a3509
checkin from browser
JavaClass.st
JavaMethod.st
--- a/JavaClass.st	Tue Nov 10 00:23:19 1998 +0000
+++ b/JavaClass.st	Tue Nov 10 14:29:36 1998 +0000
@@ -1782,6 +1782,28 @@
 
 !JavaClass methodsFor:'special'!
 
+arrayClass
+self halt.
+        ^ Array
+
+    "Created: / 10.11.1998 / 02:07:32 / cg"
+    "Modified: / 10.11.1998 / 02:10:26 / cg"
+!
+
+asClassPointerRef
+self halt.
+     ^ self
+
+    "Created: / 10.11.1998 / 02:07:01 / cg"
+    "Modified: / 10.11.1998 / 02:10:30 / cg"
+!
+
+deref
+        ^ self
+
+    "Created: / 10.11.1998 / 02:08:06 / cg"
+!
+
 updateClassRefsFrom:oldClass to:newClass
     self == oldClass ifTrue:[
         self makeObsolete.
@@ -1809,6 +1831,6 @@
 !JavaClass class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.87 1998/11/10 00:19:49 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.88 1998/11/10 14:29:36 cg Exp $'
 ! !
 JavaClass initialize!
--- a/JavaMethod.st	Tue Nov 10 00:23:19 1998 +0000
+++ b/JavaMethod.st	Tue Nov 10 14:29:36 1998 +0000
@@ -1476,6 +1476,29 @@
     "Created: 5.2.1997 / 11:31:26 / cg"
 !
 
+quickLineNumberForPC:pc
+    |last|
+
+    lineNumberTable notNil ifTrue:[
+        lineNumberTable pairWiseDo:[:lPc :lNr |
+            lPc >= pc ifTrue:[
+                lPc == pc ifTrue:[^ lNr].
+                last isNil ifTrue:[^ lNr].
+                ^ last.
+            ].
+            last := lNr.
+        ].
+        last notNil ifTrue:[        
+            ^ last
+        ].
+        ^ lineNumberTable at:2
+    ].
+    ^ nil
+
+    "Modified: / 14.1.1998 / 13:30:54 / cg"
+    "Created: / 10.11.1998 / 14:18:22 / cg"
+!
+
 who
     "return the class and selector of where I am defined in."
 
@@ -1587,17 +1610,32 @@
     "trampouline for unhandled cases ..."
 
     aClassOrInterface isBehavior ifTrue:[
+        aClassOrInterface == ByteArray ifTrue:[
+            ^ anObject class == aClassOrInterface
+        ].
+
         aClassOrInterface isInterface ifTrue:[
             (anObject class hasInterface:aClassOrInterface) ifTrue:[
                 ^ true
             ]
         ].
-        ^ (anObject isKindOf:aClassOrInterface)
+        (anObject isKindOf:aClassOrInterface) ifTrue:[
+            ^ true
+        ].
+        anObject isArray ifTrue:[
+            ^ true
+        ].
+        self halt.
+        ^ false.
     ].
     (aClassOrInterface isMemberOf:JavaClassPointerRef) ifTrue:[
         "/ must be a pointer to an array of that class
 
-        ^ anObject isArray 
+        anObject isArray ifTrue:[
+            ^ true
+        ].
+        self halt.
+        ^ false.
     ].
     (aClassOrInterface isMemberOf:JavaBuiltInClassPointerRef) ifTrue:[
         aClassOrInterface arrayClass == anObject class ifTrue:[
@@ -1609,13 +1647,17 @@
         anObject size == 0 ifTrue:[
             ^ true
         ].
-        ^ self _checkCast:(anObject at:1) class:(aClassOrInterface deref).
+        (self _checkCast:(anObject at:1) class:(aClassOrInterface deref)) ifTrue:[
+            ^ true
+        ].
+        self halt.
+        ^ false
     ].
     self halt.
     ^ false.
 
     "Created: / 4.1.1998 / 16:44:59 / cg"
-    "Modified: / 25.1.1998 / 18:25:03 / cg"
+    "Modified: / 10.11.1998 / 01:51:01 / cg"
 !
 
 _d2l:op1
@@ -1880,6 +1922,10 @@
 _multiNew:typeRef _:dim1 _:dim2
     |clsRef cls arr elType elSizes|
 
+    typeRef == Array ifTrue:[
+        self halt.
+    ].
+
     clsRef := typeRef asClassPointerRef.
     cls := clsRef arrayClass.
     arr := cls new:dim2.
@@ -1893,7 +1939,7 @@
     ^ arr
 
     "Created: / 6.1.1998 / 23:15:47 / cg"
-    "Modified: / 6.1.1998 / 23:34:28 / cg"
+    "Modified: / 10.11.1998 / 02:09:35 / cg"
 !
 
 _multiNew:typeRef _:dim1 _:dim2 _:dim3
@@ -1981,6 +2027,6 @@
 !JavaMethod class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethod.st,v 1.76 1998/11/10 00:22:39 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethod.st,v 1.77 1998/11/10 14:29:25 cg Exp $'
 ! !
 JavaMethod initialize!