mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 07:08:48 +00:00
Remove bit_field in type info, runtime, and general core library
This commit is contained in:
@@ -28,7 +28,6 @@ Type_Info_Struct :: runtime.Type_Info_Struct;
|
||||
Type_Info_Union :: runtime.Type_Info_Union;
|
||||
Type_Info_Enum :: runtime.Type_Info_Enum;
|
||||
Type_Info_Map :: runtime.Type_Info_Map;
|
||||
Type_Info_Bit_Field :: runtime.Type_Info_Bit_Field;
|
||||
Type_Info_Bit_Set :: runtime.Type_Info_Bit_Set;
|
||||
Type_Info_Opaque :: runtime.Type_Info_Opaque;
|
||||
Type_Info_Simd_Vector :: runtime.Type_Info_Simd_Vector;
|
||||
@@ -60,7 +59,6 @@ Type_Kind :: enum {
|
||||
Union,
|
||||
Enum,
|
||||
Map,
|
||||
Bit_Field,
|
||||
Bit_Set,
|
||||
Opaque,
|
||||
Simd_Vector,
|
||||
@@ -94,7 +92,6 @@ type_kind :: proc(T: typeid) -> Type_Kind {
|
||||
case Type_Info_Union: return .Union;
|
||||
case Type_Info_Enum: return .Enum;
|
||||
case Type_Info_Map: return .Map;
|
||||
case Type_Info_Bit_Field: return .Bit_Field;
|
||||
case Type_Info_Bit_Set: return .Bit_Set;
|
||||
case Type_Info_Opaque: return .Opaque;
|
||||
case Type_Info_Simd_Vector: return .Simd_Vector;
|
||||
|
||||
@@ -157,22 +157,6 @@ are_types_identical :: proc(a, b: ^Type_Info) -> bool {
|
||||
if !ok { return false; }
|
||||
return are_types_identical(x.key, y.key) && are_types_identical(x.value, y.value);
|
||||
|
||||
case Type_Info_Bit_Field:
|
||||
y, ok := b.variant.(Type_Info_Bit_Field);
|
||||
if !ok { return false; }
|
||||
if len(x.names) != len(y.names) { return false; }
|
||||
|
||||
for _, i in x.names {
|
||||
xb, yb := x.bits[i], y.bits[i];
|
||||
xo, yo := x.offsets[i], y.offsets[i];
|
||||
xn, yn := x.names[i], y.names[i];
|
||||
|
||||
if xb != yb { return false; }
|
||||
if xo != yo { return false; }
|
||||
if xn != yn { return false; }
|
||||
}
|
||||
return true;
|
||||
|
||||
case Type_Info_Bit_Set:
|
||||
y, ok := b.variant.(Type_Info_Bit_Set);
|
||||
if !ok { return false; }
|
||||
@@ -570,22 +554,6 @@ write_type_writer :: proc(w: io.Writer, ti: ^Type_Info) -> (n: int) {
|
||||
}
|
||||
n += _n(io.write_byte(w, '}'));
|
||||
|
||||
case Type_Info_Bit_Field:
|
||||
n += write_string(w, "bit_field ");
|
||||
if ti.align != 1 {
|
||||
n += write_string(w, "#align ");
|
||||
n += _n(io.write_i64(w, i64(ti.align), 10));
|
||||
n += _n(io.write_byte(w, ' '));
|
||||
}
|
||||
n += write_string(w, " {");
|
||||
for name, i in info.names {
|
||||
if i > 0 { n += write_string(w, ", "); }
|
||||
n += write_string(w, name);
|
||||
n += write_string(w, ": ");
|
||||
n += _n(io.write_i64(w, i64(info.bits[i]), 10));
|
||||
}
|
||||
n += _n(io.write_byte(w, '}'));
|
||||
|
||||
case Type_Info_Bit_Set:
|
||||
n += write_string(w, "bit_set[");
|
||||
switch {
|
||||
|
||||
Reference in New Issue
Block a user