Merge: UTF-8 Regex
[nit.git] / contrib / objcwrapper / src / objcwrapper.nit
index 6ec6b6b..28746d8 100644 (file)
@@ -45,6 +45,7 @@ end
 
 var v = new ObjcVisitor
 
+var failed_parsing = new Array[String]
 for src in opts.rest do
        # Read input
        var content = src.preprocess_content
@@ -58,7 +59,11 @@ for src in opts.rest do
 
        # Check for errors
        if root isa NError then
-               print_error "Syntax Error: {root.message}: {root.position or else ""}"
+               var pos = root.position
+               print_error "Syntax Error: {root.message}, at {pos or else ""}"
+               print_error "in {src}"
+               if pos != null then print_error pos.underline(content)
+               failed_parsing.add src
                continue
        end
 
@@ -68,3 +73,8 @@ end
 
 var g = new CodeGenerator(v.model)
 g.generate
+
+if failed_parsing.not_empty then
+       print_error "Failed to parse {failed_parsing.length}/{opts.rest.length} files:"
+       print_error failed_parsing.join(" ")
+end