JavaMethod.st
branchdevelopment
changeset 2698 c243b2455f71
parent 2630 d2cc54aad7c6
child 2704 0f7f5f5c67c7
--- a/JavaMethod.st	Fri Aug 30 12:19:02 2013 +0100
+++ b/JavaMethod.st	Fri Aug 30 17:28:45 2013 +0100
@@ -793,24 +793,6 @@
     ^nil
 
     "Created: / 24-02-2012 / 16:06:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-messagesSentToSuper
-    ^#()
-
-    "Created: / 30-03-2013 / 09:59:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-sends:symbol1 or:symbol2
-
-    ^false
-!
-
-sendsAny: selectors
-
-    ^false
-
-    "Created: / 02-12-2011 / 23:05:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaMethod methodsFor:'accessing'!
@@ -823,6 +805,15 @@
     "Created: / 9.4.1998 / 17:49:44 / cg"
 !
 
+analyzer
+    "Returns an analyzer for the method which can be used
+     to query some statistics like sent messages or modified classvars"
+
+    ^ JavaMethodAnalyzer analyze: self.
+
+    "Created: / 30-08-2013 / 13:47:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 annotations
     ^ annotations ifNil:[JavaMethodAnnotationContainer empty].
 
@@ -2625,6 +2616,59 @@
     "Modified: / 16.10.1998 / 13:42:10 / cg"
 ! !
 
+!JavaMethod methodsFor:'queries-statistic'!
+
+messagesPossiblySent
+    ^ self analyzer messagesPossiblySent
+
+    "Created: / 30-08-2013 / 14:05:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 30-08-2013 / 17:07:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+messagesSentToSuper
+    ^ self analyzer messagesSentToSuper
+
+    "Created: / 30-03-2013 / 09:59:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 30-08-2013 / 17:07:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+modifiedClassVars
+    ^ #()
+
+    "Created: / 30-08-2013 / 13:16:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+modifiedInstVars
+    ^ self analyzer modifiedInstVars
+
+    "Created: / 30-08-2013 / 13:18:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+sends:symbol1 or:symbol2
+    ^ self analyzer sends:symbol1 or:symbol2
+
+    "Modified: / 30-08-2013 / 17:07:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+sendsAny: selectors
+    ^ self analyzer sendsAny: selectors
+
+    "Created: / 02-12-2011 / 23:05:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 30-08-2013 / 17:08:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+usedClassVars
+    ^ #() "/ No class vars in Java
+
+    "Created: / 30-08-2013 / 13:18:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+usedInstVars
+    ^ self analyzer usedInstVars
+
+    "Created: / 30-08-2013 / 13:18:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !JavaMethod methodsFor:'signature parsing'!
 
 XXXspecWithArgsFromSignature:aSignature withName:name in:aPackage