carp checkers: add carp checker and make it work
This commit is contained in:
7
Pond.package/CarpCheckParser.class/instance/parse..st
Normal file
7
Pond.package/CarpCheckParser.class/instance/parse..st
Normal file
@@ -0,0 +1,7 @@
|
||||
parsing
|
||||
parse: aStream
|
||||
| split contents |
|
||||
contents := aStream upToEnd.
|
||||
contents ifEmpty: [ ^ OrderedCollection new ].
|
||||
split := contents splitOn: '\n'.
|
||||
^ split collect: [ :s | self parseLine: s ]
|
13
Pond.package/CarpCheckParser.class/instance/parseLine..st
Normal file
13
Pond.package/CarpCheckParser.class/instance/parseLine..st
Normal file
@@ -0,0 +1,13 @@
|
||||
parsing
|
||||
parseLine: aLine
|
||||
| split res |
|
||||
split := aLine splitOn: ':'.
|
||||
split size == 3 ifFalse: [
|
||||
^ CarpParseError new message: 'unparseable checker line: "' , aLine , '"'].
|
||||
res := CarpParseError new
|
||||
file: (split at: 1);
|
||||
line: (split at: 2) asNumber.
|
||||
split := (split at: 3) splitOn: ' '.
|
||||
^ res
|
||||
column: (split at: 1) asNumber;
|
||||
message: (' ' join: split allButFirst)
|
Reference in New Issue
Block a user