add ArrayList alias to std
This commit is contained in:
@@ -2425,6 +2425,31 @@ parse_distinct :: proc(parser: ^Parser, name: token.Token) {
|
||||
|
||||
parse_alias :: proc(parser: ^Parser, name: token.Token) {
|
||||
start := advance(parser)
|
||||
saved := parser.cursor
|
||||
if current(parser).kind == .Identifier && peek(parser).kind == .Dot {
|
||||
qualifier := advance(parser)
|
||||
advance(parser)
|
||||
if current(parser).kind == .Identifier {
|
||||
member := advance(parser)
|
||||
if current(parser).kind == .Newline || current(parser).kind == .Eof {
|
||||
append(&parser.module.aliases, ast.Declaration_Alias{
|
||||
span=span_from(name.span, member.span),
|
||||
name=name.symbol,
|
||||
qualifier=qualifier.symbol,
|
||||
member=member.symbol,
|
||||
pkg=parser.pkg,
|
||||
file=parser.file,
|
||||
target_pkg=ast.INVALID_PACKAGE,
|
||||
file_hidden=file_hidden_name(parser, name),
|
||||
valid=true,
|
||||
diagnostic=source.INVALID_DIAGNOSTIC,
|
||||
})
|
||||
_ = finish_statement(parser)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
parser.cursor = saved
|
||||
child := parse_type(parser)
|
||||
id := types.named(&parser.module.type_store, u32(parser.pkg), u32(name.symbol), file=u32(parser.file), file_hidden=file_hidden_name(parser, name))
|
||||
if !types.define_alias(&parser.module.type_store, id, child) {
|
||||
|
||||
Reference in New Issue
Block a user