scanner: store errors and warnings on silent mode (#6883)
parent
159932d59b
commit
b957c64905
|
@ -7,6 +7,7 @@ import os
|
||||||
import v.token
|
import v.token
|
||||||
import v.pref
|
import v.pref
|
||||||
import v.util
|
import v.util
|
||||||
|
import v.errors
|
||||||
|
|
||||||
const (
|
const (
|
||||||
single_quote = `\'`
|
single_quote = `\'`
|
||||||
|
@ -45,6 +46,8 @@ pub mut:
|
||||||
eofs int
|
eofs int
|
||||||
pref &pref.Preferences
|
pref &pref.Preferences
|
||||||
vet_errors []string
|
vet_errors []string
|
||||||
|
errors []errors.Error
|
||||||
|
warnings []errors.Warning
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1186,21 +1189,39 @@ fn (mut s Scanner) inc_line_number() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn (s &Scanner) warn(msg string) {
|
pub fn (mut s Scanner) warn(msg string) {
|
||||||
pos := token.Position{
|
pos := token.Position{
|
||||||
line_nr: s.line_nr
|
line_nr: s.line_nr
|
||||||
pos: s.pos
|
pos: s.pos
|
||||||
}
|
}
|
||||||
eprintln(util.formatted_error('warning:', msg, s.file_path, pos))
|
if s.pref.output_mode == .stdout {
|
||||||
|
eprintln(util.formatted_error('warning:', msg, s.file_path, pos))
|
||||||
|
} else {
|
||||||
|
s.warnings << errors.Warning{
|
||||||
|
file_path: s.file_path
|
||||||
|
pos: pos
|
||||||
|
reporter: .scanner
|
||||||
|
message: msg
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn (s &Scanner) error(msg string) {
|
pub fn (mut s Scanner) error(msg string) {
|
||||||
pos := token.Position{
|
pos := token.Position{
|
||||||
line_nr: s.line_nr
|
line_nr: s.line_nr
|
||||||
pos: s.pos
|
pos: s.pos
|
||||||
}
|
}
|
||||||
eprintln(util.formatted_error('error:', msg, s.file_path, pos))
|
if s.pref.output_mode == .stdout {
|
||||||
exit(1)
|
eprintln(util.formatted_error('error:', msg, s.file_path, pos))
|
||||||
|
exit(1)
|
||||||
|
} else {
|
||||||
|
s.errors << errors.Error{
|
||||||
|
file_path: s.file_path
|
||||||
|
pos: pos
|
||||||
|
reporter: .scanner
|
||||||
|
message: msg
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (mut s Scanner) vet_error(msg string) {
|
fn (mut s Scanner) vet_error(msg string) {
|
||||||
|
|
Loading…
Reference in New Issue