]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
vala: Strip "basedir" from Source.filename attribute
authorRico Tzschichholz <ricotz@ubuntu.com>
Mon, 20 May 2019 18:53:02 +0000 (20:53 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 20 May 2019 19:03:40 +0000 (21:03 +0200)
This is gives some control over the written relative filenames and fixes
make distcheck due of out-of-source-dir building.

tests/fastvapi/Makefile.am
tests/fastvapi/fastvapitest.vapi-expected
vala/valacodewriter.vala

index e58523ba4ac7f83c977dacd5533ebfc04720eb65..b960ac4b146d89e46f9513b6855f22c52f60111c 100644 (file)
@@ -5,6 +5,7 @@ check-fastvapi: $(top_builddir)/compiler/valac
                -C \
                --disable-version-header \
                --fast-vapi fastvapitest.vapi \
+               --basedir $(srcdir) \
                $(srcdir)/fastvapitest.vala; \
        tail -n +3 fastvapitest.vapi | diff -wu $(srcdir)/fastvapitest.vapi-expected - || exit 1; \
        rm -f fastvapitest.vapi fastvapitest.c
index 55540ab0863a41876d999bde8a6628851aae1be1..0542a563d5d9643ba962e6b6d326c1ab590b794b 100644 (file)
@@ -1,44 +1,44 @@
 using GLib;
 
-[Source (filename = "./fastvapitest.vala", line = 1, column = 1)]
+[Source (filename = "fastvapitest.vala", line = 1, column = 1)]
 namespace FastVapi {
-       [Source (filename = "./fastvapitest.vala", line = 23, column = 2)]
+       [Source (filename = "fastvapitest.vala", line = 23, column = 2)]
        public class Test : Object {
-               [Source (filename = "./fastvapitest.vala", line = 26, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 26, column = 3)]
                public int field;
-               [Source (filename = "./fastvapitest.vala", line = 30, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 30, column = 3)]
                public Test ();
-               [Source (filename = "./fastvapitest.vala", line = 33, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 33, column = 3)]
                public void method ();
-               [Source (filename = "./fastvapitest.vala", line = 28, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 28, column = 3)]
                public string property { get; set construct; }
-               [Source (filename = "./fastvapitest.vala", line = 24, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 24, column = 3)]
                public signal void some_signal (int param);
        }
-       [Source (filename = "./fastvapitest.vala", line = 16, column = 2)]
+       [Source (filename = "fastvapitest.vala", line = 16, column = 2)]
        public interface InterfaceTest : Object {
-               [Source (filename = "./fastvapitest.vala", line = 18, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 18, column = 3)]
                public abstract void method (int param);
-               [Source (filename = "./fastvapitest.vala", line = 17, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 17, column = 3)]
                public abstract int property { get; set construct; }
        }
-       [Source (filename = "./fastvapitest.vala", line = 12, column = 2)]
+       [Source (filename = "fastvapitest.vala", line = 12, column = 2)]
        public struct TestStruct {
-               [Source (filename = "./fastvapitest.vala", line = 13, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 13, column = 3)]
                public int field_name;
        }
-       [Source (filename = "./fastvapitest.vala", line = 4, column = 2)]
+       [Source (filename = "fastvapitest.vala", line = 4, column = 2)]
        public enum EnumTest {
-               [Source (filename = "./fastvapitest.vala", line = 5, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 5, column = 3)]
                VALUE
        }
-       [Source (filename = "./fastvapitest.vala", line = 8, column = 2)]
+       [Source (filename = "fastvapitest.vala", line = 8, column = 2)]
        public errordomain ErrorTest {
-               [Source (filename = "./fastvapitest.vala", line = 9, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 9, column = 3)]
                FAILED
        }
-       [Source (filename = "./fastvapitest.vala", line = 21, column = 2)]
+       [Source (filename = "fastvapitest.vala", line = 21, column = 2)]
        public delegate bool DelegateTest (int param);
-       [Source (filename = "./fastvapitest.vala", line = 2, column = 2)]
+       [Source (filename = "fastvapitest.vala", line = 2, column = 2)]
        public const int CONSTANT = 42;
 }
index bdbc077a7089c36ee7f2acbab8e6e998fed11efc..1f223b6b8eb157443841f189ef48a37b14b4c9ba 100644 (file)
@@ -1630,7 +1630,11 @@ public class Vala.CodeWriter : CodeVisitor {
                        var source_reference = node.source_reference;
                        if (source_reference != null) {
                                write_indent ();
-                               stream.puts ("[Source (filename = \"%s\", line = %i, column = %i)]".printf (source_reference.file.get_relative_filename (), source_reference.begin.line, source_reference.begin.column));
+                               string filename = source_reference.file.filename;
+                               if (filename.has_prefix (context.basedir)) {
+                                       filename = filename.substring (context.basedir.length + 1);
+                               }
+                               stream.puts ("[Source (filename = \"%s\", line = %i, column = %i)]".printf (filename, source_reference.begin.line, source_reference.begin.column));
                                write_newline ();
                        }
                }