Skip to content

Commit afa5a17

Browse files
committed
fix inherited structures
1 parent 79cf9d5 commit afa5a17

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

source/app.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import callisto.backends.rm86;
1818
import callisto.backends.arm64;
1919
import callisto.backends.x86_64;
2020

21-
const static string appVersion = "Beta 0.12.3";
21+
const static string appVersion = "Beta 0.12.4";
2222

2323
const static string usage = "
2424
Callisto Compiler

source/compiler.d

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ class CompilerBackend {
148148
foreach (ref member ; GetType(node.inheritsFrom).structure) {
149149
members ~= member.name;
150150
}
151+
152+
offset = GetType(node.inheritsFrom).size;
151153
}
152154

153155
foreach (ref member ; node.members) {
@@ -162,7 +164,7 @@ class CompilerBackend {
162164
memberType.ptr = member.type.ptr;
163165

164166
auto newMember = StructEntry(
165-
memberType, member.name, member.array, member.size, offset
167+
memberType, member.name, member.array, memberType.Size(), offset
166168
);
167169
entries ~= newMember;
168170
members ~= member.name;
@@ -177,6 +179,12 @@ class CompilerBackend {
177179

178180
NewConst(format("%s.sizeOf", node.name), offset);
179181
types ~= Type(node.name, offset, true, entries);
182+
183+
if (node.name == "Vector") {
184+
foreach (ref entry ; entries) {
185+
writeln(entry);
186+
}
187+
}
180188
}
181189

182190
void CompileEnum(EnumNode node) {

0 commit comments

Comments
 (0)