From f921ea2fb721d966ea08f40d6fcbe1fbef818009 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Sun, 1 Mar 2020 22:06:36 +0100 Subject: [PATCH] cgen: test module fns and consts --- vlib/v/builder/modules.v | 6 ------ vlib/v/gen/cgen.v | 6 ++++-- vlib/v/gen/tests/1.c | 10 ++++++++++ vlib/v/gen/tests/1.vv | 2 ++ vlib/v/gen/tests/localmod/localmod.v | 8 ++++++++ 5 files changed, 24 insertions(+), 8 deletions(-) delete mode 100644 vlib/v/builder/modules.v diff --git a/vlib/v/builder/modules.v b/vlib/v/builder/modules.v deleted file mode 100644 index d32ec3db36..0000000000 --- a/vlib/v/builder/modules.v +++ /dev/null @@ -1,6 +0,0 @@ -module builder - -import ( - os - filepath -) diff --git a/vlib/v/gen/cgen.v b/vlib/v/gen/cgen.v index dd26400c0a..dabd918d3d 100644 --- a/vlib/v/gen/cgen.v +++ b/vlib/v/gen/cgen.v @@ -63,7 +63,8 @@ fn (g mut Gen) stmt(node ast.Stmt) { ast.ConstDecl { for i, field in it.fields { field_type_sym := g.table.get_type_symbol(field.typ) - g.write('$field_type_sym.name $field.name = ') + name := field.name.replace('.', '__') + g.write('$field_type_sym.name $name = ') g.expr(it.exprs[i]) g.writeln(';') } @@ -310,7 +311,8 @@ fn (g mut Gen) expr(node ast.Expr) { g.write(')') } ast.Ident { - g.write('$it.name') + name := it.name.replace('.', '__') + g.write(name) } ast.SelectorExpr { g.expr(it.expr) diff --git a/vlib/v/gen/tests/1.c b/vlib/v/gen/tests/1.c index ddbb7ff212..00b9a2ea04 100644 --- a/vlib/v/gen/tests/1.c +++ b/vlib/v/gen/tests/1.c @@ -10,6 +10,7 @@ void println(string s); void matches(); void end(); void localmod__pub_foo(); +int localmod__get_int_10(); int pi = 3; int pi2 = pi; @@ -35,6 +36,8 @@ int main() { int mypi = pi; Color color = Color_red; localmod__pub_foo(); + int ten = localmod__get_int_10(); + println(localmod__pub_int_const); return 0; } @@ -144,6 +147,13 @@ void end() { int e = 2 + 3 * 4; } +int localmod__pub_int_const = 20; + void localmod__pub_foo() { int a = 10; } + +int localmod__get_int_10() { + return 10; +} + diff --git a/vlib/v/gen/tests/1.vv b/vlib/v/gen/tests/1.vv index c51e34b8b8..94c1e35aa2 100644 --- a/vlib/v/gen/tests/1.vv +++ b/vlib/v/gen/tests/1.vv @@ -42,6 +42,8 @@ fn main() { mypi := pi color := Color.red localmod.pub_foo() + ten := localmod.get_int_10() + println(localmod.pub_int_const) } /* user := User{} diff --git a/vlib/v/gen/tests/localmod/localmod.v b/vlib/v/gen/tests/localmod/localmod.v index fd4cd5f56f..6ef2e1ae33 100644 --- a/vlib/v/gen/tests/localmod/localmod.v +++ b/vlib/v/gen/tests/localmod/localmod.v @@ -1,5 +1,13 @@ module localmod +pub const ( + pub_int_const = 20 +) + pub fn pub_foo() { a := 10 } + +pub fn get_int_10() int { + return 10 +}