compiler: make compiler an ordinary vlib/compiler module
* Move compiler/ under vlib/compiler/ . * Add a minimal compiler/main.v driver program. * Cleanup compiler/main.v . * Make most compiler tests pass again. * Apply the fix by @joe-conigliaro , so that the rest of the compiler tests are fixed too. * Thanks to @avitkauskas, now the vlib/vcompiler/tests/str_gen_test.v test does not need to be special cased anymore. * Reapply @joe-conigliaro fix for vgen.pull/2325/head^2
parent
59d4535f84
commit
53c64abdeb
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import (
|
||||
os
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import os
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import os
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
const (
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
import (
|
||||
os
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import (
|
||||
vweb.tmpl // for `$vweb_html()`
|
|
@ -5,7 +5,7 @@
|
|||
// Directed acyclic graph
|
||||
// this implementation is specifically suited to ordering dependencies
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
struct DepGraphNode {
|
||||
mut:
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import(
|
||||
strings
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
import strings
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
import strings
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
// TODO replace with comptime code generation.
|
||||
// TODO remove cJSON dependency.
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
import os
|
||||
import time
|
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import (
|
||||
strings
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import os
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
import os
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
// `a in [1,2,3]` => `a == 1 || a == 2 || a == 3`
|
||||
// avoid allocation
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import (
|
||||
os
|
||||
|
@ -2183,7 +2183,7 @@ struct $f.parent_fn {
|
|||
', fname_tidx)
|
||||
}
|
||||
// Don't allow `arr.data`
|
||||
if field.access_mod == .private && !p.builtin_mod && !p.pref.translated && p.mod != typ.mod {
|
||||
if field.access_mod == .private && !p.builtin_mod && !p.pref.translated && p.mod != typ.mod && p.file_path_id != 'vgen' {
|
||||
// println('$typ.name :: $field.name ')
|
||||
// println(field.access_mod)
|
||||
p.error_with_token_index('cannot refer to unexported field `$struct_field` (type `$typ.name`)', fname_tidx)
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
import strings
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import strings
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import os
|
||||
import term
|
||||
|
@ -58,7 +58,7 @@ fn (r &Repl) function_call(line string) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
fn repl_help() {
|
||||
pub fn repl_help() {
|
||||
version_hash := vhash()
|
||||
println('
|
||||
V $Version $version_hash
|
||||
|
@ -68,7 +68,7 @@ V $Version $version_hash
|
|||
')
|
||||
}
|
||||
|
||||
fn run_repl() []string {
|
||||
pub fn run_repl() []string {
|
||||
version_hash := vhash()
|
||||
println('V $Version $version_hash')
|
||||
println('Use Ctrl-C or `exit` to exit')
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import (
|
||||
os
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import os
|
||||
import math
|
|
@ -1,6 +1,6 @@
|
|||
module main
|
||||
|
||||
import compiler.tests.repl.runner
|
||||
import vcompiler.tests.repl.runner
|
||||
import log
|
||||
import benchmark
|
||||
|
|
@ -11,7 +11,7 @@ pub:
|
|||
|
||||
pub fn full_path_to_v() string {
|
||||
vname := if os.user_os() == 'windows' { 'v.exe' } else { 'v' }
|
||||
vexec := os.dir(os.dir(os.dir(os.dir( os.executable() )))) + os.path_separator + vname
|
||||
vexec := os.dir(os.dir(os.dir(os.dir(os.dir( os.executable() ))))) + os.path_separator + vname
|
||||
/*
|
||||
args := os.args
|
||||
vreal := os.realpath('v')
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
enum TokenKind {
|
||||
eof
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
module main
|
||||
module compiler
|
||||
|
||||
import strings
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
const (
|
||||
HelpText = 'Usage: v [options/commands] [file.v | directory]
|
|
@ -1,4 +1,4 @@
|
|||
module main
|
||||
module compiler
|
||||
|
||||
import (
|
||||
os
|
||||
|
@ -15,14 +15,14 @@ mut:
|
|||
benchmark benchmark.Benchmark
|
||||
}
|
||||
|
||||
fn new_test_sesion(vargs string) TestSession {
|
||||
pub fn new_test_sesion(vargs string) TestSession {
|
||||
return TestSession{
|
||||
vexe: os.executable()
|
||||
vargs: vargs
|
||||
}
|
||||
}
|
||||
|
||||
fn test_v() {
|
||||
pub fn test_v() {
|
||||
args := os.args
|
||||
if args.last() == 'test' {
|
||||
println('Usage:')
|
||||
|
@ -71,7 +71,7 @@ fn test_v() {
|
|||
}
|
||||
}
|
||||
|
||||
fn (ts mut TestSession) test() {
|
||||
pub fn (ts mut TestSession) test() {
|
||||
ok := term.ok_message('OK')
|
||||
fail := term.fail_message('FAIL')
|
||||
cmd_needs_quoting := (os.user_os() == 'windows')
|
||||
|
@ -121,7 +121,7 @@ fn stable_example(example string, index int, arr []string) bool {
|
|||
return !example.contains('vweb')
|
||||
}
|
||||
|
||||
fn v_test_v(args_before_test string){
|
||||
pub fn v_test_v(args_before_test string){
|
||||
vexe := os.executable()
|
||||
parent_dir := os.dir(vexe)
|
||||
// Changing the current directory is needed for some of the compiler tests,
|
||||
|
@ -165,7 +165,7 @@ fn v_test_v(args_before_test string){
|
|||
}
|
||||
}
|
||||
|
||||
fn test_vget() {
|
||||
pub fn test_vget() {
|
||||
/*
|
||||
vexe := os.executable()
|
||||
ret := os.system('$vexe install nedpals.args')
|
Loading…
Reference in New Issue