Builder::ReportSourceInfo>>#setup
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 29 Jul 2013 13:23:30 +0200
changeset 194 cea07153d29c
parent 193 9171e507b523
child 195 5d818f2b6b16
Builder::ReportSourceInfo>>#setup Added more sanity checks.
reports/Builder__ReportSourceInfo.st
--- a/reports/Builder__ReportSourceInfo.st	Mon Jul 29 13:22:25 2013 +0200
+++ b/reports/Builder__ReportSourceInfo.st	Mon Jul 29 13:23:30 2013 +0200
@@ -55,7 +55,7 @@
 setup
     "To be called after class is set"
 
-    | stream |
+    | stream sourceF |
 
     stream := LineCountingStream new.
     offsets := Dictionary new.
@@ -66,17 +66,34 @@
         | m |
 
         m := rewriteQuery method.
-        offsets at: m put: stream position + 1.
+        offsets at: m put: stream position - 1.
         rewriteQuery proceed.
     ].
-    lineEnds := stream lineEnds
+    lineEnds := stream lineEnds.
+
+    "/Now, check if all is correct...
+    offsets keysAndValuesDo:[:method :offset |
+        sourceF := method package == klass package 
+                    ifTrue:[(Smalltalk getPackageDirectoryForPackage: klass package) / ((Smalltalk fileNameForClass: klass) , '.st')]
+                    ifFalse:[(Smalltalk getPackageDirectoryForPackage: method package) / 'extensions.st'].                       
+        sourceF readingFileDo:[:sourceS|
+            | source |
+
+            sourceS position: offset.
+            source := sourceS nextChunk.
+"/            self assert: method source = source.
+        ]
+    ].
+
+
+
 
     "
-        SourceInfo for: Builder::ReportRunner
+        ReportSourceInfo for: Builder::ReportRunner
     "
 
     "Created: / 01-03-2013 / 17:30:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 03-03-2013 / 11:09:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 29-07-2013 / 12:20:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ReportSourceInfo methodsFor:'queries'!