all: fix immutable fn args
parent
76def48f01
commit
52f473d1c7
|
@ -666,6 +666,7 @@ fn (p mut Parser) fn_args(f mut Fn) {
|
|||
}
|
||||
f.args << int_arg
|
||||
}
|
||||
// `(int, string, int)`
|
||||
// Just register fn arg types
|
||||
types_only := p.tok == .mul || (p.peek() == .comma && p.table.known_type(p.lit)) || p.peek() == .rpar// (int, string)
|
||||
if types_only {
|
||||
|
@ -684,12 +685,12 @@ fn (p mut Parser) fn_args(f mut Fn) {
|
|||
}
|
||||
}
|
||||
}
|
||||
// (a int, b,c string) syntax
|
||||
// `(a int, b, c string)` syntax
|
||||
for p.tok != .rpar {
|
||||
mut names := [
|
||||
p.check_name()
|
||||
]
|
||||
// a,b,c int syntax
|
||||
// `a,b,c int` syntax
|
||||
for p.tok == .comma {
|
||||
p.check(.comma)
|
||||
p.fspace()
|
||||
|
|
|
@ -694,13 +694,13 @@ pub fn (s string) ustring_tmp() ustring {
|
|||
return res
|
||||
}
|
||||
|
||||
pub fn (u ustring) substr(start, end int) string {
|
||||
start = u.runes[start]
|
||||
if end >= u.runes.len {
|
||||
end = u.s.len
|
||||
pub fn (u ustring) substr(_start, _end int) string {
|
||||
start := u.runes[_start]
|
||||
end := if _end >= u.runes.len {
|
||||
u.s.len
|
||||
}
|
||||
else {
|
||||
end = u.runes[end]
|
||||
u.runes[_end]
|
||||
}
|
||||
return u.s.substr(start, end)
|
||||
}
|
||||
|
|
|
@ -102,7 +102,8 @@ pub fn exp(a f64) f64 {
|
|||
}
|
||||
|
||||
// digits returns an array of the digits of n in the given base.
|
||||
pub fn digits(n, base int) []int {
|
||||
pub fn digits(_n, base int) []int {
|
||||
mut n := _n
|
||||
mut sign := 1
|
||||
if n < 0 {
|
||||
sign = -1
|
||||
|
@ -132,6 +133,7 @@ pub fn exp2(a f64) f64 {
|
|||
}
|
||||
|
||||
// factorial calculates the factorial of the provided value.
|
||||
// TODO bring back once multiple value functions are implemented
|
||||
fn recursive_product( n int, current_number_ptr &int) int{
|
||||
mut m := n / 2
|
||||
if (m == 0){
|
||||
|
|
22
vlib/os/os.v
22
vlib/os/os.v
|
@ -337,8 +337,8 @@ fn popen(path string) *FILE {
|
|||
}
|
||||
|
||||
// exec starts the specified command, waits for it to complete, and returns its output.
|
||||
pub fn exec(cmd string) string {
|
||||
cmd = '$cmd 2>&1'
|
||||
pub fn exec(_cmd string) string {
|
||||
cmd := '$_cmd 2>&1'
|
||||
f := popen(cmd)
|
||||
if isnil(f) {
|
||||
// TODO optional or error code
|
||||
|
@ -397,19 +397,19 @@ pub fn unsetenv(name string) int {
|
|||
}
|
||||
|
||||
// `file_exists` returns true if `path` exists.
|
||||
pub fn file_exists(path string) bool {
|
||||
pub fn file_exists(_path string) bool {
|
||||
$if windows {
|
||||
path = path.replace('/', '\\')
|
||||
path := _path.replace('/', '\\')
|
||||
return C._waccess(path.to_wide(), 0) != -1
|
||||
} $else {
|
||||
return C.access( path.str, 0 ) != -1
|
||||
return C.access(_path.str, 0 ) != -1
|
||||
}
|
||||
}
|
||||
|
||||
pub fn dir_exists(path string) bool {
|
||||
$if windows {
|
||||
path = path.replace('/', '\\')
|
||||
attr := int(C.GetFileAttributes(path.to_wide()))
|
||||
_path := path.replace('/', '\\')
|
||||
attr := int(C.GetFileAttributes(_path.to_wide()))
|
||||
if attr == INVALID_FILE_ATTRIBUTES {
|
||||
return false
|
||||
}
|
||||
|
@ -431,13 +431,13 @@ pub fn dir_exists(path string) bool {
|
|||
// mkdir creates a new directory with the specified path.
|
||||
pub fn mkdir(path string) {
|
||||
$if windows {
|
||||
path = path.replace('/', '\\')
|
||||
_path := path.replace('/', '\\')
|
||||
// Windows doesnt recursively create the folders
|
||||
// so we need to help it out here
|
||||
if path.last_index('\\') != -1 {
|
||||
mkdir(path.all_before_last('\\'))
|
||||
if _path.last_index('\\') != -1 {
|
||||
mkdir(_path.all_before_last('\\'))
|
||||
}
|
||||
C.CreateDirectory(path.to_wide(), 0)
|
||||
C.CreateDirectory(_path.to_wide(), 0)
|
||||
}
|
||||
$else {
|
||||
C.mkdir(path.str, 511)// S_IRWXU | S_IRWXG | S_IRWXO
|
||||
|
|
|
@ -34,7 +34,7 @@ pub fn (b Builder) str() string {
|
|||
return string(b.buf, b.len)
|
||||
}
|
||||
|
||||
pub fn (b Builder) cut(n int) {
|
||||
pub fn (b mut Builder) cut(n int) {
|
||||
b.len -= n
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue