]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Use relative path as specified on the command-line in error messages
authorJürg Billeter <j@bitron.ch>
Fri, 20 Aug 2010 13:30:50 +0000 (15:30 +0200)
committerJürg Billeter <j@bitron.ch>
Sat, 21 Aug 2010 08:46:05 +0000 (10:46 +0200)
Fixes bug 591683.

compiler/valacompiler.vala
vala/valasourcefile.vala

index 36364bd0e3b09bc71b41800e80dcc0690a8e7a98..9826682f9390c31bd1242c86c89b7b777ae4c4b3 100644 (file)
@@ -351,6 +351,7 @@ class Vala.Compiler {
                                var rpath = realpath (source);
                                if (run_output || source.has_suffix (".vala") || source.has_suffix (".gs")) {
                                        var source_file = new SourceFile (context, rpath);
+                                       source_file.relative_filename = source;
 
                                        if (context.profile == Profile.POSIX) {
                                                // import the Posix namespace by default (namespace of backend-specific standard library)
@@ -371,7 +372,10 @@ class Vala.Compiler {
 
                                        context.add_source_file (source_file);
                                } else if (source.has_suffix (".vapi") || source.has_suffix (".gir")) {
-                                       context.add_source_file (new SourceFile (context, rpath, true));
+                                       var source_file = new SourceFile (context, rpath, true);
+                                       source_file.relative_filename = source;
+
+                                       context.add_source_file (source_file);
                                } else if (source.has_suffix (".c")) {
                                        context.add_c_source_file (rpath);
                                        has_c_files = true;
index cff51b7030c2f6b7fd6804e8f3e8d6a03b46f323..464c93e2dc38234eac64405d36d729352e698f32 100644 (file)
@@ -31,7 +31,12 @@ public class Vala.SourceFile {
         */
        public string filename { get; set; }
        
-       
+       public string? relative_filename {
+               set {
+                       this._relative_filename = value;
+               }
+       }
+
        /**
         * Specifies whether this file is a VAPI package file.
         */
@@ -67,7 +72,9 @@ public class Vala.SourceFile {
        public List<UsingDirective> current_using_directives { get; set; default = new ArrayList<UsingDirective> (); }
 
        private List<CodeNode> nodes = new ArrayList<CodeNode> ();
-       
+
+       string? _relative_filename;
+
        private string csource_filename = null;
        private string cinclude_filename = null;
 
@@ -185,7 +192,11 @@ public class Vala.SourceFile {
        }
 
        public string get_relative_filename () {
-               return get_subdir () + Path.get_basename (filename);
+               if (_relative_filename != null) {
+                       return _relative_filename;
+               } else {
+                       return Path.get_basename (filename);
+               }
        }
 
        /**