mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
test the recent type alias string; print vweb templates in verbose mode
This commit is contained in:
parent
8c0e0f8ab7
commit
bcde155da7
@ -171,12 +171,18 @@ fn (p mut Parser) comp_time() {
|
||||
p.check(.lpar)
|
||||
p.check(.rpar)
|
||||
v_code := tmpl.compile_template(path)
|
||||
if p.pref.is_verbose {
|
||||
println('vweb template:')
|
||||
println(v_code)
|
||||
}
|
||||
is_strings_imorted := p.import_table.known_import('strings')
|
||||
if !is_strings_imorted {
|
||||
p.register_import('strings', 0) // used by v_code
|
||||
}
|
||||
p.import_table.register_used_import('strings')
|
||||
p.genln('/////////////////// tmpl start')
|
||||
p.scanner.file_path = path
|
||||
p.scanner.line_nr = 0
|
||||
p.statements_from_text(v_code, false)
|
||||
p.genln('/////////////////// tmpl end')
|
||||
receiver := p.cur_fn.args[0]
|
||||
|
@ -18,6 +18,7 @@ pub mut:
|
||||
fn_cnt int //atomic
|
||||
obfuscate bool
|
||||
varg_access []VargAccess
|
||||
//enum_vals map[string][]string
|
||||
//names []Name
|
||||
}
|
||||
|
||||
@ -230,9 +231,18 @@ fn is_primitive_type(typ string) bool {
|
||||
return is_number_type(typ) || typ == 'string'
|
||||
}
|
||||
|
||||
/*
|
||||
fn (t mut Table) register_enum_val(typ, val string) {
|
||||
if t.enum_vals.len == 0 {
|
||||
t.enum_vals = [val]
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
fn new_table(obfuscate bool) &Table {
|
||||
mut t := &Table {
|
||||
obfuscate: obfuscate
|
||||
//enum_vals: map[string][]string
|
||||
}
|
||||
t.register_builtin('int')
|
||||
t.register_builtin('size_t')
|
||||
|
19
vlib/compiler/tests/type_test.v
Normal file
19
vlib/compiler/tests/type_test.v
Normal file
@ -0,0 +1,19 @@
|
||||
struct Human { name string }
|
||||
|
||||
pub fn (h Human) str() string { return 'Human: $h.name' }
|
||||
|
||||
type Person Human
|
||||
|
||||
fn test_type_print() {
|
||||
p := Person{'Bilbo'}
|
||||
println(p)
|
||||
assert p.str() == 'Human: Bilbo'
|
||||
}
|
||||
|
||||
pub fn (h Person) str() string { return 'Person: $h.name' }
|
||||
|
||||
fn test_person_str() {
|
||||
p := Person{'Bilbo'}
|
||||
println(p)
|
||||
assert p.str() == 'Person: Bilbo'
|
||||
}
|
Loading…
Reference in New Issue
Block a user