src/JavaMethod.st
branchjk_new_structure
changeset 1717 90e2f072acfb
parent 1708 d503f527c66e
child 1726 2155ae48a4b3
--- a/src/JavaMethod.st	Fri Oct 12 09:25:57 2012 +0000
+++ b/src/JavaMethod.st	Fri Oct 12 09:59:33 2012 +0000
@@ -437,9 +437,11 @@
      JavaMethod numArgsFromSignature:'(BB)S'      
      JavaMethod numArgsFromSignature:'()V'      
      JavaMethod numArgsFromSignature:'(Ljava/util/ArrayList<*>;)V'
+     JavaMethod numArgsFromSignature:'(L)V'
+
     "
 
-    "Modified (comment): / 13-08-2011 / 00:59:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 12-10-2012 / 11:49:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 numArgsFromStream:s
@@ -1110,24 +1112,6 @@
     "Created: / 25-10-2011 / 10:50:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-numLocals
-    ^super numVars.
-"/    numLocals isNil ifTrue:[^ 0].
-"/    ^ numLocals
-
-    "Modified: / 3.1.1998 / 21:15:38 / cg"
-!
-
-numVars
-    |n|
-
-    "/ a Java-stackframe includes the args in the locals
-    n := self numLocals - self numArgs.
-    ^ n
-
-    "Modified: / 13.1.1998 / 17:34:37 / cg"
-!
-
 numberOfJavaArgs
 
     ^(accessFlags bitAnd: 16r00FF0000) rightShift: 16.
@@ -1706,16 +1690,19 @@
     byteCode := codeBytes.
     "/ numStack := max_stack.
     "/ numLocals := max_locals.
-    super numberOfVars:max_locals.
+    super numberOfVars:max_locals - self numArgs - (self isStatic ifTrue:[0] ifFalse:[1]).
     super stackSize:max_stack.
 
+
+
 "/    self displayString printNL.
 "/    '   nStack: ' print. numStack print. 
 "/    ' nLocal: ' print. numLocals print. 
 "/    ' u1: ' print. unknown1 print.
 "/    ' u2: ' print. unknown2 printNL.
 
-    "Modified: 1.8.1997 / 00:08:32 / cg"
+    "Modified: / 01-08-1997 / 00:08:32 / cg"
+    "Modified: / 12-10-2012 / 11:46:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 setDescriptor:aString