mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
parser: do not allow "int?", only "?int"
This commit is contained in:
parent
f27f3515ae
commit
d2d75f3824
@ -1022,12 +1022,9 @@ fn (p mut Parser) get_type() string {
|
|||||||
p.register_array(typ)
|
p.register_array(typ)
|
||||||
}
|
}
|
||||||
p.next()
|
p.next()
|
||||||
if p.tok == .question || is_question {
|
if is_question {
|
||||||
typ = 'Option_$typ'
|
typ = 'Option_$typ'
|
||||||
p.table.register_type_with_parent(typ, 'Option')
|
p.table.register_type_with_parent(typ, 'Option')
|
||||||
if p.tok == .question {
|
|
||||||
p.next()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Because the code uses * to see if it's a pointer
|
// Because the code uses * to see if it's a pointer
|
||||||
if typ == 'byteptr' {
|
if typ == 'byteptr' {
|
||||||
|
@ -154,17 +154,13 @@ fn (p mut Parser) get_type2() Type {
|
|||||||
}
|
}
|
||||||
else if is_arr {
|
else if is_arr {
|
||||||
typ = 'array_$typ'
|
typ = 'array_$typ'
|
||||||
// p.log('ARR TYPE="$typ" run=$p.pass')
|
|
||||||
// We come across "[]User" etc ?
|
// We come across "[]User" etc ?
|
||||||
p.register_array(typ)
|
p.register_array(typ)
|
||||||
}
|
}
|
||||||
p.next()
|
p.next()
|
||||||
if p.tok == .question || is_question {
|
if is_question {
|
||||||
typ = 'Option_$typ'
|
typ = 'Option_$typ'
|
||||||
p.table.register_type_with_parent(typ, 'Option')
|
p.table.register_type_with_parent(typ, 'Option')
|
||||||
if p.tok == .question {
|
|
||||||
p.next()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if typ.last_index('__') > typ.index('__') {
|
if typ.last_index('__') > typ.index('__') {
|
||||||
p.error('2 __ in gettype(): typ="$typ"')
|
p.error('2 __ in gettype(): typ="$typ"')
|
||||||
|
@ -25,7 +25,7 @@ pub fn full_path_to_v() string {
|
|||||||
return vexec
|
return vexec
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn run_repl_file(wd string, vexec string, file string) string? {
|
pub fn run_repl_file(wd string, vexec string, file string) ?string {
|
||||||
fcontent := os.read_file(file) or { return error('Could not read file $file') }
|
fcontent := os.read_file(file) or { return error('Could not read file $file') }
|
||||||
content := fcontent.replace('\r', '')
|
content := fcontent.replace('\r', '')
|
||||||
input := content.all_before('===output===\n')
|
input := content.all_before('===output===\n')
|
||||||
|
@ -9,7 +9,7 @@ import(
|
|||||||
encoding.binary
|
encoding.binary
|
||||||
)
|
)
|
||||||
|
|
||||||
pub fn int_u64(max u64) u64? {
|
pub fn int_u64(max u64) ?u64 {
|
||||||
bitlen := bits.len64(max)
|
bitlen := bits.len64(max)
|
||||||
if bitlen == 0 {
|
if bitlen == 0 {
|
||||||
return u64(0)
|
return u64(0)
|
||||||
@ -38,7 +38,7 @@ pub fn int_u64(max u64) u64? {
|
|||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
fn bytes_to_u64(b []byte) []u64 {
|
fn bytes_to_u64(b []byte) []u64 {
|
||||||
ws := 64/8
|
ws := 64/8
|
||||||
mut z := [u64(0)].repeat((b.len + ws - 1) / ws)
|
mut z := [u64(0)].repeat((b.len + ws - 1) / ws)
|
||||||
mut i := b.len
|
mut i := b.len
|
||||||
|
@ -206,7 +206,7 @@ pub fn dial(address string, port int) ?Socket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// send string data to socket
|
// send string data to socket
|
||||||
pub fn (s Socket) send(buf byteptr, len int) int? {
|
pub fn (s Socket) send(buf byteptr, len int) ?int {
|
||||||
res := int( C.send(s.sockfd, buf, len, 0) )
|
res := int( C.send(s.sockfd, buf, len, 0) )
|
||||||
if res < 0 {
|
if res < 0 {
|
||||||
return error('socket: send failed')
|
return error('socket: send failed')
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import net
|
import net
|
||||||
|
|
||||||
fn test_socket() {
|
fn test_socket() {
|
||||||
mut server := net.listen(0) or {
|
mut server := net.listen(0) or {
|
||||||
println(err)
|
println(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
server_port := server.get_port()
|
server_port := server.get_port()
|
||||||
mut client := net.dial('127.0.0.1', server_port) or {
|
mut client := net.dial('127.0.0.1', server_port) or {
|
||||||
println(err)
|
println(err)
|
||||||
@ -20,7 +20,7 @@ fn test_socket() {
|
|||||||
$if debug { println('message send: $message') }
|
$if debug { println('message send: $message') }
|
||||||
$if debug { println('send socket: $socket.sockfd') }
|
$if debug { println('send socket: $socket.sockfd') }
|
||||||
|
|
||||||
bytes, blen := client.recv(1024)
|
bytes, blen := client.recv(1024)
|
||||||
received := tos(bytes, blen)
|
received := tos(bytes, blen)
|
||||||
$if debug { println('message received: $received') }
|
$if debug { println('message received: $received') }
|
||||||
$if debug { println('client: $client.sockfd') }
|
$if debug { println('client: $client.sockfd') }
|
||||||
@ -30,4 +30,4 @@ fn test_socket() {
|
|||||||
server.close()
|
server.close()
|
||||||
client.close()
|
client.close()
|
||||||
socket.close()
|
socket.close()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user