mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-12 06:11:26 -07:00
Disable struct field reordering (for the time being)
This commit is contained in:
+4
-8
@@ -234,7 +234,6 @@ write_type :: proc(buf: ^String_Buffer, ti: ^Type_Info) {
|
||||
|
||||
case Type_Info_Array:
|
||||
write_string(buf, "[");
|
||||
fi := Fmt_Info{buf = buf};
|
||||
write_i64(buf, i64(info.count), 10);
|
||||
write_string(buf, "]");
|
||||
write_type(buf, info.elem);
|
||||
@@ -313,8 +312,6 @@ _parse_int :: proc(s: string, offset: int) -> (result: int, offset: int, ok: boo
|
||||
}
|
||||
|
||||
result := 0;
|
||||
ok := true;
|
||||
|
||||
i := 0;
|
||||
for i < len(s[offset..]) {
|
||||
c := rune(s[offset+i]);
|
||||
@@ -855,11 +852,10 @@ fmt_value :: proc(fi: ^Fmt_Info, v: any, verb: rune) {
|
||||
write_byte(fi.buf, '{');
|
||||
defer write_byte(fi.buf, '}');
|
||||
|
||||
hash := fi.hash; defer fi.hash = hash;
|
||||
indent := fi.indent; defer fi.indent -= 1;
|
||||
|
||||
fi.indent += 1; defer fi.indent -= 1;
|
||||
hash := fi.hash; defer fi.hash = hash;
|
||||
fi.hash = false;
|
||||
fi.indent += 1;
|
||||
|
||||
|
||||
if hash do write_byte(fi.buf, '\n');
|
||||
|
||||
@@ -1016,7 +1012,7 @@ sbprintln :: proc(buf: ^String_Buffer, args: ...any) -> string {
|
||||
fi: Fmt_Info;
|
||||
fi.buf = buf;
|
||||
|
||||
for arg, i in args {
|
||||
for _, i in args {
|
||||
if i > 0 do write_byte(buf, ' ');
|
||||
|
||||
fmt_value(&fi, args[i], 'v');
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@ write_entire_file :: proc(name: string, data: []byte, truncate := true) -> (succ
|
||||
}
|
||||
defer close(fd);
|
||||
|
||||
bytes_written, write_err := write(fd, data);
|
||||
_, write_err := write(fd, data);
|
||||
return write_err == 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ are_types_identical :: proc(a, b: ^Type_Info) -> bool {
|
||||
|
||||
case Type_Info_Pointer:
|
||||
y, ok := b.variant.(Type_Info_Pointer);
|
||||
if !ok do return false;
|
||||
return are_types_identical(x.elem, y.elem);
|
||||
|
||||
case Type_Info_Procedure:
|
||||
|
||||
+10
-14
@@ -30,25 +30,23 @@ encode_surrogate_pair :: proc(r: rune) -> (r1, r2: rune) {
|
||||
}
|
||||
|
||||
encode :: proc(d: []u16, s: []rune) -> int {
|
||||
n := len(s);
|
||||
for r in s do if r >= _surr_self do n += 1;
|
||||
|
||||
max_n := min(len(d), n);
|
||||
n = 0;
|
||||
|
||||
for r in s {
|
||||
n, m := 0, len(d);
|
||||
loop: for r in s {
|
||||
switch r {
|
||||
case 0.._surr1, _surr3 .. _surr_self:
|
||||
if m+1 < n do break loop;
|
||||
d[n] = u16(r);
|
||||
n += 1;
|
||||
|
||||
case _surr_self .. MAX_RUNE:
|
||||
if m+2 < n do break loop;
|
||||
r1, r2 := encode_surrogate_pair(r);
|
||||
d[n] = u16(r1);
|
||||
d[n+1] = u16(r2);
|
||||
n += 2;
|
||||
|
||||
case:
|
||||
if m+1 < n do break loop;
|
||||
d[n] = u16(REPLACEMENT_CHAR);
|
||||
n += 1;
|
||||
}
|
||||
@@ -58,25 +56,23 @@ encode :: proc(d: []u16, s: []rune) -> int {
|
||||
|
||||
|
||||
encode_string :: proc(d: []u16, s: string) -> int {
|
||||
n := utf8.rune_count_from_string(s);
|
||||
for r in s do if r >= _surr_self do n += 1;
|
||||
|
||||
max_n := min(len(d), n);
|
||||
n = 0;
|
||||
|
||||
for r in s {
|
||||
n, m := 0, len(d);
|
||||
loop: for r in s {
|
||||
switch r {
|
||||
case 0.._surr1, _surr3 .. _surr_self:
|
||||
if m+1 < n do break loop;
|
||||
d[n] = u16(r);
|
||||
n += 1;
|
||||
|
||||
case _surr_self .. MAX_RUNE:
|
||||
if m+2 < n do break loop;
|
||||
r1, r2 := encode_surrogate_pair(r);
|
||||
d[n] = u16(r1);
|
||||
d[n+1] = u16(r2);
|
||||
n += 2;
|
||||
|
||||
case:
|
||||
if m+1 < n do break loop;
|
||||
d[n] = u16(REPLACEMENT_CHAR);
|
||||
n += 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user