[vala] vala: Strip "basedir" from Source.filename attribute
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] vala: Strip "basedir" from Source.filename attribute
- Date: Mon, 20 May 2019 19:14:19 +0000 (UTC)
commit 96cc5c9c2aa21d063656773c4ab436655991c302
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Mon May 20 20:53:02 2019 +0200
vala: Strip "basedir" from Source.filename attribute
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 | 1 +
tests/fastvapi/fastvapitest.vapi-expected | 36 +++++++++++++++----------------
vala/valacodewriter.vala | 6 +++++-
3 files changed, 24 insertions(+), 19 deletions(-)
---
diff --git a/tests/fastvapi/Makefile.am b/tests/fastvapi/Makefile.am
index e58523ba4..b960ac4b1 100644
--- a/tests/fastvapi/Makefile.am
+++ b/tests/fastvapi/Makefile.am
@@ -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
diff --git a/tests/fastvapi/fastvapitest.vapi-expected b/tests/fastvapi/fastvapitest.vapi-expected
index 55540ab08..0542a563d 100644
--- a/tests/fastvapi/fastvapitest.vapi-expected
+++ b/tests/fastvapi/fastvapitest.vapi-expected
@@ -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;
}
diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala
index bdbc077a7..1f223b6b8 100644
--- a/vala/valacodewriter.vala
+++ b/vala/valacodewriter.vala
@@ -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 ();
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]