s/BenchmarkReportJSONWriter.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 25 Sep 2015 05:18:26 +0100
changeset 285 0cf54ee76de5
parent 142 c69d1eb92d91
permissions -rw-r--r--
Normalized Windows OS identification string with Pharo
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:calipel/s' }"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
285
0cf54ee76de5 Normalized Windows OS identification string with Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
     3
"{ NameSpace: Smalltalk }"
0cf54ee76de5 Normalized Windows OS identification string with Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
     4
29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
Object subclass:#BenchmarkReportJSONWriter
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'stream indent'
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:'Rules EscapeTable'
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'CalipeL-S-Core-Reports'
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!BenchmarkReportJSONWriter class methodsFor:'documentation'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
documentation
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    Simple, portable JSON writer.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    [author:]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
        Jan Vrany <jan.vrany@fit.cvut.cz> (adaptation for CalipeL)
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    [instance variables:]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    [class variables:]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    [see also:]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!BenchmarkReportJSONWriter class methodsFor:'initialization'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
initialize
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    "Invoked at system start or when the class is dynamically loaded."
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    EscapeTable := Dictionary new.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    EscapeTable at:  8 put: '\b'.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    EscapeTable at:  9 put: '\t'.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    EscapeTable at: 10 put: '\n'.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    EscapeTable at: 12 put: '\f'.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
    EscapeTable at: 13 put: '\r'.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    EscapeTable at: 34 put: '\"'.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    EscapeTable at: 92 put: '\\'.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    Rules := OrderedCollection new.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    Rules add: [:obj | obj isNil ];             add:#writeNull: .
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    Rules add: [:obj | obj isString ];          add:#writeString: .
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    Rules add: [:obj | obj isBoolean ];         add:#writeBoolean: .
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    Rules add: [:obj | obj isInteger ];         add:#writeInteger: .
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    Rules add: [:obj | obj isFloat ];           add:#writeFloat: .
36
dd7c9461d6fc Compatibility fix in BenchmarkReportJSONWriter (removed St/X eol comment)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    50
    "CalipeL/S specific mappings"
29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    Rules add: [:obj | obj isClass ];           add:#writeClass: .
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    "Modified: / 12-06-2013 / 13:53:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
dd7c9461d6fc Compatibility fix in BenchmarkReportJSONWriter (removed St/X eol comment)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    54
    "Modified (comment): / 16-06-2013 / 00:53:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
!BenchmarkReportJSONWriter class methodsFor:'instance creation'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
new
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    "return an initialized instance"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    ^ self basicNew initialize.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
on: writeStream
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
	"Initialize on writeStream, which should be a character stream that 
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
	implements #nextPut:, #nextPutAll:, #space and (optionally) #close."
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
	^ self new
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
		on: writeStream;
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
		yourself
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
!BenchmarkReportJSONWriter class methodsFor:'convenience'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
toString: object
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
	^ String streamContents: [ :stream |
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
			(self on: stream) nextPut: object ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
toStringPretty: object
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
	^ String streamContents: [ :stream |
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
			(self on: stream)
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
				prettyPrint: true; 
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
				nextPut: object ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
!BenchmarkReportJSONWriter methodsFor:'initialize-release'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
close
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
	stream ifNotNil: [
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
		stream close.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
		stream := nil ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
initialize
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
        super initialize.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
        indent := 0
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    "Modified: / 12-06-2013 / 14:00:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
on: aWriteStream
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
	"Initialize on aWriteStream, which should be a character stream that 
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
	implements #nextPut:, #nextPutAll:, #space and (optionally) #close."
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
	stream := aWriteStream
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
!BenchmarkReportJSONWriter methodsFor:'private'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
encode: string
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
    string do:[:char|
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
        | code escape |
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
        code := char codePoint.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
        escape := EscapeTable at: code ifAbsent:[nil].
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
        escape notNil ifTrue:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
            stream nextPutAll: escape
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
        ] ifFalse:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
            (code < 32 or:[code > 127]) ifTrue:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
                self error: 'Unimplemented \u escaping'.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
            ] ifFalse:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
                stream nextPut: char.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
            ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
        ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
    ].
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    "Created: / 12-06-2013 / 13:42:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
!BenchmarkReportJSONWriter methodsFor:'stream protocol'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
nextPut: anObject
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    self write: anObject
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    "Modified: / 12-06-2013 / 11:06:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
nextPutAll: anObject
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    self write: anObject
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
    "Created: / 12-06-2013 / 11:07:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
!BenchmarkReportJSONWriter methodsFor:'writing'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
write: anObject
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
    1 to: Rules size by: 2 do:[:i|
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
        ((Rules at: i) value: anObject) ifTrue:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
            self perform: (Rules at: i + 1) with: anObject.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
            ^self.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
        ]        
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
    ].
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
    anObject isSequenceable ifTrue:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
        self writeArray: anObject.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
        ^self
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    ].
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
    anObject isDictionary ifTrue:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
        self writeDictionary: anObject.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
        ^self
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    ].
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
    self writeObject: anObject
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    "Created: / 12-06-2013 / 11:00:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
writeArray:collection 
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    self writeArrayWith:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
        collection 
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
            do:[:each | self write: each ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
            separatedBy:[ self writeElementSeparator ].
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
    ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
    "Modified: / 12-06-2013 / 14:02:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
writeArrayWith:block 
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
    stream nextPut: $[.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
    indent := indent + 1.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
    block value.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
    indent := indent - 1.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
    stream nextPut: $]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
    "Created: / 12-06-2013 / 14:01:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
writeBoolean: boolean
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
	boolean printOn: stream
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
writeDictionary:dictionary 
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
    self writeDictionaryWith:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
        dictionary associations
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
            do:[:each | self writeKey: each key value: each value ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
            separatedBy:[ self writeElementSeparator ].
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
    ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
    "Modified: / 12-06-2013 / 14:02:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
writeDictionaryWith:block
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
    stream nextPut: ${.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
    indent := indent + 1.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
    block value.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
    indent := indent - 1.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
    stream nextPut: $}
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
    "Created: / 12-06-2013 / 14:01:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
142
c69d1eb92d91 Include parameters and their values in JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 36
diff changeset
   214
writeElementSeparator
c69d1eb92d91 Include parameters and their values in JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 36
diff changeset
   215
    stream nextPut:$,.
c69d1eb92d91 Include parameters and their values in JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 36
diff changeset
   216
c69d1eb92d91 Include parameters and their values in JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 36
diff changeset
   217
    "Modified: / 12-06-2013 / 13:42:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c69d1eb92d91 Include parameters and their values in JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 36
diff changeset
   218
!
c69d1eb92d91 Include parameters and their values in JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 36
diff changeset
   219
29
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
writeFloat: float
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
	float printOn: stream
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
writeInteger: integer
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
	integer printOn: stream
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
	
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
writeKey: key value: value 
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
    self write: key.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
    stream nextPutAll:': '.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
    self write: value
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    "Created: / 12-06-2013 / 13:59:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
writeKey: key valueWith: block 
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
    self write: key.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
    stream nextPutAll:': '.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
    block value
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
    "Created: / 12-06-2013 / 14:08:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
writeNull: anObject
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
    stream nextPutAll: 'null'
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
    "Created: / 12-06-2013 / 11:09:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
writeObject: anObject
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
    "Objects are written as dictionaries instvarname -> instvar value"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    | instvars |
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
    instvars := anObject class allInstVarNames.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
    stream nextPut: ${.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
    indent := indent + 1.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
    instvars withIndexDo:[:nm :i|
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
        self writeKey: nm value: (anObject instVarAt: i).        
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
        i ~~ instvars size ifTrue:[
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
            self writeElementSeparator.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
        ]
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
    ].
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
    indent := indent - 1.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
    stream nextPut: $}
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
    "Modified: / 12-06-2013 / 13:59:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
writeString: string
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
    stream nextPut: $".
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
    self encode: string.
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
    stream nextPut: $"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
    "Modified: / 12-06-2013 / 13:43:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
!BenchmarkReportJSONWriter methodsFor:'writing - CalipeL-S extras'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
writeClass: aClass
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
    ^self writeString: aClass name
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
    "Created: / 12-06-2013 / 13:52:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
!BenchmarkReportJSONWriter class methodsFor:'documentation'!
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
version_HG
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
    ^ '$Changeset: <not expanded> $'
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
! !
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
00d2eaa41853 Initial version of JSON report.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
BenchmarkReportJSONWriter initialize!