Class: Bake::GreenHillsCompilerErrorParser
- Inherits:
-
ErrorParser
- Object
- ErrorParser
- Bake::GreenHillsCompilerErrorParser
- Defined in:
- lib/bake/toolchain/errorparser/greenhills_compiler_error_parser.rb
Constant Summary
Constants inherited from ErrorParser
ErrorParser::SEVERITY_ERROR, ErrorParser::SEVERITY_INFO, ErrorParser::SEVERITY_OK, ErrorParser::SEVERITY_WARNING
Instance Method Summary collapse
-
#initialize ⇒ GreenHillsCompilerErrorParser
constructor
A new instance of GreenHillsCompilerErrorParser.
- #scan_lines(consoleOutput, proj_dir) ⇒ Object
Methods inherited from ErrorParser
#get_severity, #get_tasking_severity, #inv_severity, #makeVsError, #scan
Constructor Details
#initialize ⇒ GreenHillsCompilerErrorParser
Returns a new instance of GreenHillsCompilerErrorParser.
6 7 8 9 10 |
# File 'lib/bake/toolchain/errorparser/greenhills_compiler_error_parser.rb', line 6 def initialize() # example: # "test.c", line 1: warning #123-D: blah blub @error_expression = /"([^"]+)", line ([0-9]+)[:0-9]* (catastrophic |fatal )*([A-Za-z\._]+) (.+)/ end |
Instance Method Details
#scan_lines(consoleOutput, proj_dir) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/bake/toolchain/errorparser/greenhills_compiler_error_parser.rb', line 12 def scan_lines(consoleOutput, proj_dir) res = [] consoleOutputFullnames = "" consoleOutput[0].each_line do |l| d = ErrorDesc.new scan_res = l.gsub(/\r\n?/, "").scan(@error_expression) if scan_res.length > 0 d.file_name = File.(scan_res[0][0], proj_dir) d.line_number = scan_res[0][1].to_i d. = scan_res[0][4] d.severity = get_severity(scan_res[0][3]) l.gsub!(scan_res[0][0],d.file_name) end res << d consoleOutputFullnames << l end [res, consoleOutputFullnames] end |