Skip to content

Commit 8f556ef

Browse files
committed
refactor: Change order yet again
Move `__body` before local methods
1 parent 9049391 commit 8f556ef

File tree

2 files changed

+23
-23
lines changed

2 files changed

+23
-23
lines changed

src/codegen/tests/oop_tests/vtable_tests.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ fn vtable_codegen_for_function_block_with_interfaces_show_interface_in_type() {
187187
source_filename = "<internal>"
188188
189189
%Test = type { i32* }
190-
%__vtable_Test_type = type { i32*, %__vtable_TestInt_type, %__vtable_TestInt2_type, i32* }
190+
%__vtable_Test_type = type { %__vtable_TestInt_type, %__vtable_TestInt2_type, i32*, i32* }
191191
%__vtable_TestInt_type = type { i32* }
192192
%__vtable_TestInt2_type = type {}
193193
@@ -215,10 +215,10 @@ fn vtable_codegen_for_function_block_with_interfaces_show_interface_in_type() {
215215
%self = alloca %__vtable_Test_type*, align 8
216216
store %__vtable_Test_type* %0, %__vtable_Test_type** %self, align 8
217217
%deref = load %__vtable_Test_type*, %__vtable_Test_type** %self, align 8
218-
%__vtable_TestInt_type = getelementptr inbounds %__vtable_Test_type, %__vtable_Test_type* %deref, i32 0, i32 1
218+
%__vtable_TestInt_type = getelementptr inbounds %__vtable_Test_type, %__vtable_Test_type* %deref, i32 0, i32 0
219219
call void @__init___vtable_testint_type(%__vtable_TestInt_type* %__vtable_TestInt_type)
220220
%deref1 = load %__vtable_Test_type*, %__vtable_Test_type** %self, align 8
221-
%__vtable_TestInt2_type = getelementptr inbounds %__vtable_Test_type, %__vtable_Test_type* %deref1, i32 0, i32 2
221+
%__vtable_TestInt2_type = getelementptr inbounds %__vtable_Test_type, %__vtable_Test_type* %deref1, i32 0, i32 1
222222
call void @__init___vtable_testint2_type(%__vtable_TestInt2_type* %__vtable_TestInt2_type)
223223
ret void
224224
}

src/vtable.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ impl VTableIndexer {
2828
variables.push(VTableIndexer::create_vtable_reference(parent));
2929
}
3030

31-
if pou.is_function_block() {
32-
variables.push(VTableIndexer::create_void_pointer("__body"));
33-
}
34-
3531
for interface in pou.get_interfaces() {
3632
variables.push(VTableIndexer::create_vtable_reference(interface));
3733
}
3834

35+
if pou.is_function_block() {
36+
variables.push(VTableIndexer::create_void_pointer("__body"));
37+
}
38+
3939
for method in index.get_methods_local(pou.get_name()) {
4040
variables.push(VTableIndexer::create_void_pointer(method.get_name()));
4141
}
@@ -422,15 +422,15 @@ mod tests {
422422
),
423423
variables: [
424424
Variable {
425-
name: "__body",
425+
name: "__vtable_TestInt_type",
426426
data_type: DataTypeReference {
427-
referenced_type: "__VOID_POINTER",
427+
referenced_type: "__vtable_TestInt_type",
428428
},
429429
},
430430
Variable {
431-
name: "__vtable_TestInt_type",
431+
name: "__body",
432432
data_type: DataTypeReference {
433-
referenced_type: "__vtable_TestInt_type",
433+
referenced_type: "__VOID_POINTER",
434434
},
435435
},
436436
Variable {
@@ -459,15 +459,15 @@ mod tests {
459459
},
460460
},
461461
Variable {
462-
name: "__body",
462+
name: "__vtable_TestInt2_type",
463463
data_type: DataTypeReference {
464-
referenced_type: "__VOID_POINTER",
464+
referenced_type: "__vtable_TestInt2_type",
465465
},
466466
},
467467
Variable {
468-
name: "__vtable_TestInt2_type",
468+
name: "__body",
469469
data_type: DataTypeReference {
470-
referenced_type: "__vtable_TestInt2_type",
470+
referenced_type: "__VOID_POINTER",
471471
},
472472
},
473473
],
@@ -544,15 +544,15 @@ mod tests {
544544
),
545545
variables: [
546546
Variable {
547-
name: "__body",
547+
name: "__vtable_TestInt_type",
548548
data_type: DataTypeReference {
549-
referenced_type: "__VOID_POINTER",
549+
referenced_type: "__vtable_TestInt_type",
550550
},
551551
},
552552
Variable {
553-
name: "__vtable_TestInt_type",
553+
name: "__body",
554554
data_type: DataTypeReference {
555-
referenced_type: "__vtable_TestInt_type",
555+
referenced_type: "__VOID_POINTER",
556556
},
557557
},
558558
Variable {
@@ -581,15 +581,15 @@ mod tests {
581581
},
582582
},
583583
Variable {
584-
name: "__body",
584+
name: "__vtable_TestInt2_type",
585585
data_type: DataTypeReference {
586-
referenced_type: "__VOID_POINTER",
586+
referenced_type: "__vtable_TestInt2_type",
587587
},
588588
},
589589
Variable {
590-
name: "__vtable_TestInt2_type",
590+
name: "__body",
591591
data_type: DataTypeReference {
592-
referenced_type: "__vtable_TestInt2_type",
592+
referenced_type: "__VOID_POINTER",
593593
},
594594
},
595595
Variable {

0 commit comments

Comments
 (0)