BreakpointAnalyzer.st
changeset 3116 98401e354ea3
child 3130 bde0df5a7c1d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BreakpointAnalyzer.st	Tue Apr 16 09:21:48 2013 +0200
@@ -0,0 +1,50 @@
+"{ Package: 'stx:libcomp' }"
+
+Parser variableSubclass:#BreakpointAnalyzer
+	instanceVariableNames:'messageSendMap'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'System-Compiler-Debugging'
+!
+
+
+!BreakpointAnalyzer methodsFor:'accessing'!
+
+messageSendMap
+    ^ messageSendMap
+! !
+
+!BreakpointAnalyzer methodsFor:'code generation hooks'!
+
+messageNodeRewriteHookFor:aMessageNode
+    "invoked whenever a message send node has been generated;
+     gives subclasses a chance to rewrite (instrument) it"
+
+    (messageSendMap at: aMessageNode line ifAbsentPut:[Bag new])
+        add: aMessageNode selector.
+
+    ^ aMessageNode
+
+    "Created: / 15-04-2013 / 15:32:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-04-2013 / 00:59:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BreakpointAnalyzer methodsFor:'initialization'!
+
+initialize
+    super initialize.
+    messageSendMap := Dictionary new.
+
+    "Created: / 15-04-2013 / 15:29:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BreakpointAnalyzer class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libcomp/BreakpointAnalyzer.st,v 1.1 2013-04-16 07:21:48 vrany Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libcomp/BreakpointAnalyzer.st,v 1.1 2013-04-16 07:21:48 vrany Exp $'
+! !
+