From 41b854f192a5a7d190a4b49496638254ed0dbb64 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 23 Feb 2021 15:45:06 +0000 Subject: Remove `#opaque` types --- src/check_expr.cpp | 22 ---------------------- 1 file changed, 22 deletions(-) (limited to 'src/check_expr.cpp') diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 25e5550b5..e77efc023 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -836,11 +836,6 @@ bool is_polymorphic_type_assignable(CheckerContext *c, Type *poly, Type *source, } return true; } - case Type_Opaque: - if (source->kind == Type_Opaque) { - return is_polymorphic_type_assignable(c, poly->Opaque.elem, source->Opaque.elem, true, modify_type); - } - return false; case Type_Pointer: if (source->kind == Type_Pointer) { isize level = check_is_assignable_to_using_subtype(source->Pointer.elem, poly->Pointer.elem); @@ -2312,14 +2307,6 @@ bool check_is_castable_to(CheckerContext *c, Operand *operand, Type *y) { if (is_type_rawptr(src) && is_type_proc(dst)) { return true; } - - if (is_type_opaque(src)) { - return are_types_identical(dst, src->Opaque.elem); - } - if (is_type_opaque(dst)) { - return are_types_identical(dst->Opaque.elem, src); - } - return false; } @@ -3793,7 +3780,6 @@ BuiltinTypeIsProc *builtin_type_is_procs[BuiltinProc__type_simple_boolean_end - is_type_named, is_type_pointer, - is_type_opaque, is_type_array, is_type_enumerated_array, is_type_slice, @@ -5640,7 +5626,6 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32 } break; case Type_Pointer: operand->type = bt->Pointer.elem; break; - case Type_Opaque: operand->type = bt->Opaque.elem; break; case Type_Array: operand->type = bt->Array.elem; break; case Type_EnumeratedArray: operand->type = bt->EnumeratedArray.elem; break; case Type_Slice: operand->type = bt->Slice.elem; break; @@ -5674,7 +5659,6 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32 case BuiltinProc_type_is_valid_map_key: case BuiltinProc_type_is_named: case BuiltinProc_type_is_pointer: - case BuiltinProc_type_is_opaque: case BuiltinProc_type_is_array: case BuiltinProc_type_is_slice: case BuiltinProc_type_is_dynamic_array: @@ -10173,7 +10157,6 @@ ExprKind check_expr_base_internal(CheckerContext *c, Operand *o, Ast *node, Type case Ast_UnionType: case Ast_EnumType: case Ast_MapType: - case Ast_OpaqueType: case Ast_BitSetType: o->mode = Addressing_Type; o->type = check_type(c, node); @@ -10556,11 +10539,6 @@ gbString write_expr_to_string(gbString str, Ast *node, bool shorthand) { str = write_expr_to_string(str, ht->type, shorthand); case_end; - case_ast_node(ht, OpaqueType, node); - str = gb_string_appendc(str, "opaque "); - str = write_expr_to_string(str, ht->type, shorthand); - case_end; - case_ast_node(pt, PolyType, node); str = gb_string_append_rune(str, '$'); str = write_expr_to_string(str, pt->type, shorthand); -- cgit v1.2.3