contrib/objcwrapper: print opts errors, not just usage
[nit.git] / contrib / objcwrapper / src / objcwrapper.nit
index cc527e7..6ec6b6b 100644 (file)
@@ -23,15 +23,18 @@ import objc_model
 import objc_generator
 import objc_lexer
 import objc_parser
+import preprocessing
 
 var opt_help = new OptionBool("Show this help message", "-h", "--help")
 
 var opts = new OptionContext
-opts.add_option(opt_help, opt_output, opt_init_as_methods)
-opts.parse(args)
+opts.add_option(opt_help, opt_output, opt_init_as_methods, opt_gcc_options)
+opts.parse args
 
 if opts.errors.not_empty or opts.rest.is_empty or opt_help.value then
-       print """
+       if opts.errors.not_empty then print_error opts.errors.join("\n")
+
+       print_error """
 Usage: objcwrapper [options] input_file [other_input_file [...]]
 Options:"""
        opts.usage
@@ -41,11 +44,10 @@ Options:"""
 end
 
 var v = new ObjcVisitor
-var g = new CodeGenerator
 
-for arg in opts.rest do
+for src in opts.rest do
        # Read input
-       var content = arg.to_path.read_all
+       var content = src.preprocess_content
 
        # Parse
        var lexer = new Lexer_objc(content)
@@ -64,4 +66,5 @@ for arg in opts.rest do
        v.enter_visit root
 end
 
-g.generate v.model.classes
+var g = new CodeGenerator(v.model)
+g.generate