parser: make sure interface field names use uppercase letters (#14228)
parent
08fd0ce0de
commit
cd30b6ea82
|
@ -0,0 +1,20 @@
|
|||
vlib/v/checker/tests/interface_field_name_err.vv:2:2: error: field name `Age` cannot contain uppercase letters, use snake_case instead
|
||||
1 | interface Animal {
|
||||
2 | Age int
|
||||
| ~~~
|
||||
3 | Foo &int
|
||||
4 | Bar []string
|
||||
vlib/v/checker/tests/interface_field_name_err.vv:3:2: error: field name `Foo` cannot contain uppercase letters, use snake_case instead
|
||||
1 | interface Animal {
|
||||
2 | Age int
|
||||
3 | Foo &int
|
||||
| ~~~
|
||||
4 | Bar []string
|
||||
5 | }
|
||||
vlib/v/checker/tests/interface_field_name_err.vv:4:2: error: field name `Bar` cannot contain uppercase letters, use snake_case instead
|
||||
2 | Age int
|
||||
3 | Foo &int
|
||||
4 | Bar []string
|
||||
| ~~~
|
||||
5 | }
|
||||
6 |
|
|
@ -0,0 +1,8 @@
|
|||
interface Animal {
|
||||
Age int
|
||||
Foo &int
|
||||
Bar []string
|
||||
}
|
||||
|
||||
fn main() {
|
||||
}
|
|
@ -517,7 +517,8 @@ fn (mut p Parser) interface_decl() ast.InterfaceDecl {
|
|||
mut ifaces := []ast.InterfaceEmbedding{}
|
||||
for p.tok.kind != .rcbr && p.tok.kind != .eof {
|
||||
if p.tok.kind == .name && p.tok.lit.len > 0 && p.tok.lit[0].is_capital()
|
||||
&& p.peek_tok.kind != .lpar {
|
||||
&& (p.peek_tok.line_nr != p.tok.line_nr
|
||||
|| p.peek_tok.kind !in [.name, .amp, .lsbr, .lpar]) {
|
||||
iface_pos := p.tok.pos()
|
||||
mut iface_name := p.tok.lit
|
||||
iface_type := p.parse_type()
|
||||
|
|
Loading…
Reference in New Issue