]> 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>
Fri, 20 Aug 2010 13:32:09 +0000 (15:32 +0200)
Fixes bug 591683.

compiler/valacompiler.vala
vala/valasourcefile.vala

index af22abd61a4a94aa70362bc24c6f5aaf89ac0144..54c93eb9e87260ef703688c4aa5ce22ea56a0fb8 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);
+               }
        }
 
        /**