func (v *SemanticAnalyzer) Warn(thing ast.Locatable, err string, stuff ...interface{}) { pos := thing.Pos() log.Warning("semantic", util.TEXT_YELLOW+util.TEXT_BOLD+"warning:"+util.TEXT_RESET+" [%s:%d:%d] %s\n", pos.Filename, pos.Line, pos.Char, fmt.Sprintf(err, stuff...)) log.Warningln("semantic", v.Submodule.File.MarkPos(pos)) }
func (v *SemanticAnalyzer) Err(thing ast.Locatable, err string, stuff ...interface{}) { pos := thing.Pos() log.Error("semantic", util.TEXT_RED+util.TEXT_BOLD+"error:"+util.TEXT_RESET+" [%s:%d:%d] %s\n", pos.Filename, pos.Line, pos.Char, fmt.Sprintf(err, stuff...)) log.Errorln("semantic", v.Submodule.File.MarkPos(pos)) v.shouldExit = true }