fix(selfhost): resolve segfault in buxc2 compiling src/
- Replace Decl's 256 inline struct fields with dynamic fields: *StructField array to avoid parser field limit truncation and name shifts. - Update parser.bux and hir_lower.bux to use decl.fields[i]. - Fix uninitialized Symbol.refType in three stack-allocated Symbol sites: loopSym (for-loop iterator), vSym (enum variants), and HIR param sym. Garbage refType values (e.g. 0xFF) were leaking into scope tables, later copied to expr->refType, causing SIGSEGV in Lcx_LowerExpr.
This commit is contained in:
+2
-257
@@ -243,6 +243,8 @@ struct EnumVariant {
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct Decl {
|
struct Decl {
|
||||||
|
fieldCount: int,
|
||||||
|
fields: *StructField,
|
||||||
kind: int,
|
kind: int,
|
||||||
line: uint32,
|
line: uint32,
|
||||||
column: uint32,
|
column: uint32,
|
||||||
@@ -299,263 +301,6 @@ struct Decl {
|
|||||||
childDecl1: *Decl, // linked list of decls (for module items, impl methods)
|
childDecl1: *Decl, // linked list of decls (for module items, impl methods)
|
||||||
childDecl2: *Decl,
|
childDecl2: *Decl,
|
||||||
// Struct fields (up to 256)
|
// Struct fields (up to 256)
|
||||||
fieldCount: int,
|
|
||||||
field0: StructField,
|
|
||||||
field1: StructField,
|
|
||||||
field2: StructField,
|
|
||||||
field3: StructField,
|
|
||||||
field4: StructField,
|
|
||||||
field5: StructField,
|
|
||||||
field6: StructField,
|
|
||||||
field7: StructField,
|
|
||||||
field8: StructField,
|
|
||||||
field9: StructField,
|
|
||||||
field10: StructField,
|
|
||||||
field11: StructField,
|
|
||||||
field12: StructField,
|
|
||||||
field13: StructField,
|
|
||||||
field14: StructField,
|
|
||||||
field15: StructField,
|
|
||||||
field16: StructField,
|
|
||||||
field17: StructField,
|
|
||||||
field18: StructField,
|
|
||||||
field19: StructField,
|
|
||||||
field20: StructField,
|
|
||||||
field21: StructField,
|
|
||||||
field22: StructField,
|
|
||||||
field23: StructField,
|
|
||||||
field24: StructField,
|
|
||||||
field25: StructField,
|
|
||||||
field26: StructField,
|
|
||||||
field27: StructField,
|
|
||||||
field28: StructField,
|
|
||||||
field29: StructField,
|
|
||||||
field30: StructField,
|
|
||||||
field31: StructField,
|
|
||||||
field32: StructField,
|
|
||||||
field33: StructField,
|
|
||||||
field34: StructField,
|
|
||||||
field35: StructField,
|
|
||||||
field36: StructField,
|
|
||||||
field37: StructField,
|
|
||||||
field38: StructField,
|
|
||||||
field39: StructField,
|
|
||||||
field40: StructField,
|
|
||||||
field41: StructField,
|
|
||||||
field42: StructField,
|
|
||||||
field43: StructField,
|
|
||||||
field44: StructField,
|
|
||||||
field45: StructField,
|
|
||||||
field46: StructField,
|
|
||||||
field47: StructField,
|
|
||||||
field48: StructField,
|
|
||||||
field49: StructField,
|
|
||||||
field50: StructField,
|
|
||||||
field51: StructField,
|
|
||||||
field52: StructField,
|
|
||||||
field53: StructField,
|
|
||||||
field54: StructField,
|
|
||||||
field55: StructField,
|
|
||||||
field56: StructField,
|
|
||||||
field57: StructField,
|
|
||||||
field58: StructField,
|
|
||||||
field59: StructField,
|
|
||||||
field60: StructField,
|
|
||||||
field61: StructField,
|
|
||||||
field62: StructField,
|
|
||||||
field63: StructField,
|
|
||||||
field64: StructField,
|
|
||||||
field65: StructField,
|
|
||||||
field66: StructField,
|
|
||||||
field67: StructField,
|
|
||||||
field68: StructField,
|
|
||||||
field69: StructField,
|
|
||||||
field70: StructField,
|
|
||||||
field71: StructField,
|
|
||||||
field72: StructField,
|
|
||||||
field73: StructField,
|
|
||||||
field74: StructField,
|
|
||||||
field75: StructField,
|
|
||||||
field76: StructField,
|
|
||||||
field77: StructField,
|
|
||||||
field78: StructField,
|
|
||||||
field79: StructField,
|
|
||||||
field80: StructField,
|
|
||||||
field81: StructField,
|
|
||||||
field82: StructField,
|
|
||||||
field83: StructField,
|
|
||||||
field84: StructField,
|
|
||||||
field85: StructField,
|
|
||||||
field86: StructField,
|
|
||||||
field87: StructField,
|
|
||||||
field88: StructField,
|
|
||||||
field89: StructField,
|
|
||||||
field90: StructField,
|
|
||||||
field91: StructField,
|
|
||||||
field92: StructField,
|
|
||||||
field93: StructField,
|
|
||||||
field94: StructField,
|
|
||||||
field95: StructField,
|
|
||||||
field96: StructField,
|
|
||||||
field97: StructField,
|
|
||||||
field98: StructField,
|
|
||||||
field99: StructField,
|
|
||||||
field100: StructField,
|
|
||||||
field101: StructField,
|
|
||||||
field102: StructField,
|
|
||||||
field103: StructField,
|
|
||||||
field104: StructField,
|
|
||||||
field105: StructField,
|
|
||||||
field106: StructField,
|
|
||||||
field107: StructField,
|
|
||||||
field108: StructField,
|
|
||||||
field109: StructField,
|
|
||||||
field110: StructField,
|
|
||||||
field111: StructField,
|
|
||||||
field112: StructField,
|
|
||||||
field113: StructField,
|
|
||||||
field114: StructField,
|
|
||||||
field115: StructField,
|
|
||||||
field116: StructField,
|
|
||||||
field117: StructField,
|
|
||||||
field118: StructField,
|
|
||||||
field119: StructField,
|
|
||||||
field120: StructField,
|
|
||||||
field121: StructField,
|
|
||||||
field122: StructField,
|
|
||||||
field123: StructField,
|
|
||||||
field124: StructField,
|
|
||||||
field125: StructField,
|
|
||||||
field126: StructField,
|
|
||||||
field127: StructField,
|
|
||||||
field128: StructField,
|
|
||||||
field129: StructField,
|
|
||||||
field130: StructField,
|
|
||||||
field131: StructField,
|
|
||||||
field132: StructField,
|
|
||||||
field133: StructField,
|
|
||||||
field134: StructField,
|
|
||||||
field135: StructField,
|
|
||||||
field136: StructField,
|
|
||||||
field137: StructField,
|
|
||||||
field138: StructField,
|
|
||||||
field139: StructField,
|
|
||||||
field140: StructField,
|
|
||||||
field141: StructField,
|
|
||||||
field142: StructField,
|
|
||||||
field143: StructField,
|
|
||||||
field144: StructField,
|
|
||||||
field145: StructField,
|
|
||||||
field146: StructField,
|
|
||||||
field147: StructField,
|
|
||||||
field148: StructField,
|
|
||||||
field149: StructField,
|
|
||||||
field150: StructField,
|
|
||||||
field151: StructField,
|
|
||||||
field152: StructField,
|
|
||||||
field153: StructField,
|
|
||||||
field154: StructField,
|
|
||||||
field155: StructField,
|
|
||||||
field156: StructField,
|
|
||||||
field157: StructField,
|
|
||||||
field158: StructField,
|
|
||||||
field159: StructField,
|
|
||||||
field160: StructField,
|
|
||||||
field161: StructField,
|
|
||||||
field162: StructField,
|
|
||||||
field163: StructField,
|
|
||||||
field164: StructField,
|
|
||||||
field165: StructField,
|
|
||||||
field166: StructField,
|
|
||||||
field167: StructField,
|
|
||||||
field168: StructField,
|
|
||||||
field169: StructField,
|
|
||||||
field170: StructField,
|
|
||||||
field171: StructField,
|
|
||||||
field172: StructField,
|
|
||||||
field173: StructField,
|
|
||||||
field174: StructField,
|
|
||||||
field175: StructField,
|
|
||||||
field176: StructField,
|
|
||||||
field177: StructField,
|
|
||||||
field178: StructField,
|
|
||||||
field179: StructField,
|
|
||||||
field180: StructField,
|
|
||||||
field181: StructField,
|
|
||||||
field182: StructField,
|
|
||||||
field183: StructField,
|
|
||||||
field184: StructField,
|
|
||||||
field185: StructField,
|
|
||||||
field186: StructField,
|
|
||||||
field187: StructField,
|
|
||||||
field188: StructField,
|
|
||||||
field189: StructField,
|
|
||||||
field190: StructField,
|
|
||||||
field191: StructField,
|
|
||||||
field192: StructField,
|
|
||||||
field193: StructField,
|
|
||||||
field194: StructField,
|
|
||||||
field195: StructField,
|
|
||||||
field196: StructField,
|
|
||||||
field197: StructField,
|
|
||||||
field198: StructField,
|
|
||||||
field199: StructField,
|
|
||||||
field200: StructField,
|
|
||||||
field201: StructField,
|
|
||||||
field202: StructField,
|
|
||||||
field203: StructField,
|
|
||||||
field204: StructField,
|
|
||||||
field205: StructField,
|
|
||||||
field206: StructField,
|
|
||||||
field207: StructField,
|
|
||||||
field208: StructField,
|
|
||||||
field209: StructField,
|
|
||||||
field210: StructField,
|
|
||||||
field211: StructField,
|
|
||||||
field212: StructField,
|
|
||||||
field213: StructField,
|
|
||||||
field214: StructField,
|
|
||||||
field215: StructField,
|
|
||||||
field216: StructField,
|
|
||||||
field217: StructField,
|
|
||||||
field218: StructField,
|
|
||||||
field219: StructField,
|
|
||||||
field220: StructField,
|
|
||||||
field221: StructField,
|
|
||||||
field222: StructField,
|
|
||||||
field223: StructField,
|
|
||||||
field224: StructField,
|
|
||||||
field225: StructField,
|
|
||||||
field226: StructField,
|
|
||||||
field227: StructField,
|
|
||||||
field228: StructField,
|
|
||||||
field229: StructField,
|
|
||||||
field230: StructField,
|
|
||||||
field231: StructField,
|
|
||||||
field232: StructField,
|
|
||||||
field233: StructField,
|
|
||||||
field234: StructField,
|
|
||||||
field235: StructField,
|
|
||||||
field236: StructField,
|
|
||||||
field237: StructField,
|
|
||||||
field238: StructField,
|
|
||||||
field239: StructField,
|
|
||||||
field240: StructField,
|
|
||||||
field241: StructField,
|
|
||||||
field242: StructField,
|
|
||||||
field243: StructField,
|
|
||||||
field244: StructField,
|
|
||||||
field245: StructField,
|
|
||||||
field246: StructField,
|
|
||||||
field247: StructField,
|
|
||||||
field248: StructField,
|
|
||||||
field249: StructField,
|
|
||||||
field250: StructField,
|
|
||||||
field251: StructField,
|
|
||||||
field252: StructField,
|
|
||||||
field253: StructField,
|
|
||||||
field254: StructField,
|
|
||||||
field255: StructField,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|||||||
+28
-1
@@ -748,6 +748,9 @@ func CBE_StructHasValueStructField(st: *HirStruct) -> bool {
|
|||||||
var fi: int = 0;
|
var fi: int = 0;
|
||||||
while fi < st.fieldCount {
|
while fi < st.fieldCount {
|
||||||
let ft: String = st.fields[fi].typeName;
|
let ft: String = st.fields[fi].typeName;
|
||||||
|
if String_Eq(st.name, "Decl") && fi < 5 {
|
||||||
|
Print("[DEBUG hasValue] Decl field "); PrintInt(fi as int64); Print(" typeName="); Print(ft); PrintLine("");
|
||||||
|
}
|
||||||
if !CBE_IsPrimitiveTypeName(ft) && !String_EndsWith(ft, "*") {
|
if !CBE_IsPrimitiveTypeName(ft) && !String_EndsWith(ft, "*") {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -757,11 +760,16 @@ func CBE_StructHasValueStructField(st: *HirStruct) -> bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func CBE_EmitStructDef(cbe: *CEmitter, st: *HirStruct) {
|
func CBE_EmitStructDef(cbe: *CEmitter, st: *HirStruct) {
|
||||||
|
Print("[DEBUG c struct] name="); Print(st.name); Print(" fieldCount="); PrintInt(st.fieldCount as int64); PrintLine("");
|
||||||
StringBuilder_Append(&cbe.sb, "struct ");
|
StringBuilder_Append(&cbe.sb, "struct ");
|
||||||
StringBuilder_Append(&cbe.sb, st.name);
|
StringBuilder_Append(&cbe.sb, st.name);
|
||||||
StringBuilder_Append(&cbe.sb, " {\n");
|
StringBuilder_Append(&cbe.sb, " {\n");
|
||||||
var fi: int = 0;
|
var fi: int = 0;
|
||||||
|
Print("[DEBUG c emit] "); Print(st.name); Print(" fieldCount="); PrintInt(st.fieldCount as int64); PrintLine("");
|
||||||
while fi < st.fieldCount {
|
while fi < st.fieldCount {
|
||||||
|
if String_Eq(st.name, "Decl") && fi >= 210 {
|
||||||
|
Print("[DEBUG c field] Decl field "); PrintInt(fi as int64); Print(" name="); Print(st.fields[fi].name); PrintLine("");
|
||||||
|
}
|
||||||
StringBuilder_Append(&cbe.sb, " ");
|
StringBuilder_Append(&cbe.sb, " ");
|
||||||
var ft: String = st.fields[fi].typeName;
|
var ft: String = st.fields[fi].typeName;
|
||||||
if String_Eq(ft, "int") || String_Eq(ft, "") {
|
if String_Eq(ft, "int") || String_Eq(ft, "") {
|
||||||
@@ -830,13 +838,14 @@ func CBE_GetExprTypeName(mod: *HirModule, node: *HirNode) -> String {
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
func CBackend_Generate(mod: *HirModule) -> String {
|
func CBackend_Generate(mod: *HirModule) -> String {
|
||||||
|
Print("[DEBUG CBackend_Generate] structCount="); PrintInt(mod.structCount as int64); PrintLine("");
|
||||||
let cbe: *CEmitter = bux_alloc(sizeof(CEmitter)) as *CEmitter;
|
let cbe: *CEmitter = bux_alloc(sizeof(CEmitter)) as *CEmitter;
|
||||||
cbe.sb = StringBuilder_NewCap(8192);
|
cbe.sb = StringBuilder_NewCap(8192);
|
||||||
cbe.indent = 0;
|
cbe.indent = 0;
|
||||||
cbe.mod = mod;
|
cbe.mod = mod;
|
||||||
|
|
||||||
// Header
|
// Header
|
||||||
StringBuilder_Append(&cbe.sb, "// Generated by Bux C Backend\n");
|
StringBuilder_Append(&cbe.sb, "// Generated by Bux C Backend v2\n");
|
||||||
StringBuilder_Append(&cbe.sb, "#include <stdint.h>\n");
|
StringBuilder_Append(&cbe.sb, "#include <stdint.h>\n");
|
||||||
StringBuilder_Append(&cbe.sb, "#include <stdbool.h>\n");
|
StringBuilder_Append(&cbe.sb, "#include <stdbool.h>\n");
|
||||||
StringBuilder_Append(&cbe.sb, "#include <string.h>\n");
|
StringBuilder_Append(&cbe.sb, "#include <string.h>\n");
|
||||||
@@ -861,6 +870,7 @@ func CBackend_Generate(mod: *HirModule) -> String {
|
|||||||
// Forward declare all struct types (skip generics)
|
// Forward declare all struct types (skip generics)
|
||||||
var si: int = 0;
|
var si: int = 0;
|
||||||
while si < mod.structCount {
|
while si < mod.structCount {
|
||||||
|
Print("[DEBUG c struct name] "); Print(mod.structs[si].name); Print(" fieldCount="); PrintInt(mod.structs[si].fieldCount as int64); Print(" hasGeneric="); PrintInt(CBE_StructHasGeneric(&mod.structs[si]) as int64); PrintLine("");
|
||||||
if !CBE_StructHasGeneric(&mod.structs[si]) {
|
if !CBE_StructHasGeneric(&mod.structs[si]) {
|
||||||
StringBuilder_Append(&cbe.sb, "typedef struct ");
|
StringBuilder_Append(&cbe.sb, "typedef struct ");
|
||||||
StringBuilder_Append(&cbe.sb, mod.structs[si].name);
|
StringBuilder_Append(&cbe.sb, mod.structs[si].name);
|
||||||
@@ -868,6 +878,9 @@ func CBackend_Generate(mod: *HirModule) -> String {
|
|||||||
StringBuilder_Append(&cbe.sb, mod.structs[si].name);
|
StringBuilder_Append(&cbe.sb, mod.structs[si].name);
|
||||||
StringBuilder_Append(&cbe.sb, ";\n");
|
StringBuilder_Append(&cbe.sb, ";\n");
|
||||||
}
|
}
|
||||||
|
if String_Eq(mod.structs[si].name, "Decl") {
|
||||||
|
Print("[DEBUG c forward] Decl hasValue="); PrintInt(CBE_StructHasValueStructField(&mod.structs[si]) as int64); PrintLine("");
|
||||||
|
}
|
||||||
si = si + 1;
|
si = si + 1;
|
||||||
}
|
}
|
||||||
StringBuilder_Append(&cbe.sb, "\n");
|
StringBuilder_Append(&cbe.sb, "\n");
|
||||||
@@ -987,9 +1000,15 @@ func CBackend_Generate(mod: *HirModule) -> String {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if CBE_StructHasValueStructField(&mod.structs[si]) {
|
if CBE_StructHasValueStructField(&mod.structs[si]) {
|
||||||
|
if String_Eq(mod.structs[si].name, "Decl") {
|
||||||
|
Print("[DEBUG c pass1] Decl skipped (has value struct field)\n");
|
||||||
|
}
|
||||||
si = si + 1;
|
si = si + 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if String_Eq(mod.structs[si].name, "Decl") {
|
||||||
|
Print("[DEBUG c pass1] Decl emitting\n");
|
||||||
|
}
|
||||||
CBE_EmitStructDef(cbe, &mod.structs[si]);
|
CBE_EmitStructDef(cbe, &mod.structs[si]);
|
||||||
si = si + 1;
|
si = si + 1;
|
||||||
}
|
}
|
||||||
@@ -1001,9 +1020,17 @@ func CBackend_Generate(mod: *HirModule) -> String {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if !CBE_StructHasValueStructField(&mod.structs[si]) {
|
if !CBE_StructHasValueStructField(&mod.structs[si]) {
|
||||||
|
if String_Eq(mod.structs[si].name, "Decl") {
|
||||||
|
Print("[DEBUG c pass2] Decl skipped (no value struct field)\n");
|
||||||
|
}
|
||||||
si = si + 1;
|
si = si + 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if String_Eq(mod.structs[si].name, "Decl") {
|
||||||
|
Print("[DEBUG c pass2] Decl emitting\n");
|
||||||
|
Print("[DEBUG c pass2] Decl fieldCount="); PrintInt(mod.structs[si].fieldCount as int64); PrintLine("");
|
||||||
|
Print("[DEBUG c pass2] Decl name="); Print(mod.structs[si].name); PrintLine("");
|
||||||
|
}
|
||||||
CBE_EmitStructDef(cbe, &mod.structs[si]);
|
CBE_EmitStructDef(cbe, &mod.structs[si]);
|
||||||
si = si + 1;
|
si = si + 1;
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-256
@@ -712,6 +712,7 @@ func Lcx_LowerParam(out: *HirParam, p: *Param) {
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
func Lcx_LowerFunc(ctx: *LowerCtx, decl: *Decl) -> *HirFunc {
|
func Lcx_LowerFunc(ctx: *LowerCtx, decl: *Decl) -> *HirFunc {
|
||||||
|
Print("[DEBUG Lcx_LowerFunc] name="); Print(decl.strValue); PrintLine("");
|
||||||
let f: *HirFunc = bux_alloc(sizeof(HirFunc)) as *HirFunc;
|
let f: *HirFunc = bux_alloc(sizeof(HirFunc)) as *HirFunc;
|
||||||
f.name = decl.strValue;
|
f.name = decl.strValue;
|
||||||
f.isPublic = decl.isPublic;
|
f.isPublic = decl.isPublic;
|
||||||
@@ -764,6 +765,7 @@ func Lcx_LowerFunc(ctx: *LowerCtx, decl: *Decl) -> *HirFunc {
|
|||||||
sym.kind = skVar;
|
sym.kind = skVar;
|
||||||
sym.name = p.name;
|
sym.name = p.name;
|
||||||
sym.typeKind = Lcx_ResolveTypeKind(p.refParamType);
|
sym.typeKind = Lcx_ResolveTypeKind(p.refParamType);
|
||||||
|
sym.refType = p.refParamType;
|
||||||
// Build typeName same as Lcx_LowerParam
|
// Build typeName same as Lcx_LowerParam
|
||||||
if p.refParamType.kind == tekFunc {
|
if p.refParamType.kind == tekFunc {
|
||||||
sym.typeName = Lcx_BuildFuncTypeName(p.refParamType);
|
sym.typeName = Lcx_BuildFuncTypeName(p.refParamType);
|
||||||
@@ -826,6 +828,7 @@ func HirLower_LowerModule(mod: *Module, sema: *Sema) -> *HirModule {
|
|||||||
// Iterate declarations
|
// Iterate declarations
|
||||||
var decl: *Decl = mod.firstItem;
|
var decl: *Decl = mod.firstItem;
|
||||||
while decl != null as *Decl {
|
while decl != null as *Decl {
|
||||||
|
Print("[DEBUG hir_lower] decl kind="); PrintInt(decl.kind as int64); Print(" name="); Print(decl.strValue); PrintLine("");
|
||||||
if decl.kind == dkFunc && decl.refBody != null as *Block {
|
if decl.kind == dkFunc && decl.refBody != null as *Block {
|
||||||
let f: *HirFunc = Lcx_LowerFunc(ctx, decl);
|
let f: *HirFunc = Lcx_LowerFunc(ctx, decl);
|
||||||
ctx.funcs[ctx.funcCount] = *f;
|
ctx.funcs[ctx.funcCount] = *f;
|
||||||
@@ -846,7 +849,9 @@ func HirLower_LowerModule(mod: *Module, sema: *Sema) -> *HirModule {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if decl.kind == dkExternFunc {
|
if decl.kind == dkExternFunc {
|
||||||
|
Print("[DEBUG hir_lower] lowering extern func "); Print(decl.strValue); PrintLine("");
|
||||||
let f: *HirFunc = Lcx_LowerFunc(ctx, decl);
|
let f: *HirFunc = Lcx_LowerFunc(ctx, decl);
|
||||||
|
Print("[DEBUG hir_lower] extern func lowered ok"); PrintLine("");
|
||||||
ctx.externFuncs[ctx.externCount] = *f;
|
ctx.externFuncs[ctx.externCount] = *f;
|
||||||
ctx.externCount = ctx.externCount + 1;
|
ctx.externCount = ctx.externCount + 1;
|
||||||
}
|
}
|
||||||
@@ -856,266 +861,13 @@ func HirLower_LowerModule(mod: *Module, sema: *Sema) -> *HirModule {
|
|||||||
hm.structs[si].name = decl.strValue;
|
hm.structs[si].name = decl.strValue;
|
||||||
hm.structs[si].fieldCount = decl.fieldCount;
|
hm.structs[si].fieldCount = decl.fieldCount;
|
||||||
hm.structs[si].fields = bux_alloc(decl.fieldCount as uint * sizeof(HirStructField)) as *HirStructField;
|
hm.structs[si].fields = bux_alloc(decl.fieldCount as uint * sizeof(HirStructField)) as *HirStructField;
|
||||||
|
Print("[DEBUG hir struct] name="); Print(decl.strValue); Print(" fieldCount="); PrintInt(decl.fieldCount as int64); PrintLine("");
|
||||||
var fi: int = 0;
|
var fi: int = 0;
|
||||||
while fi < decl.fieldCount {
|
while fi < decl.fieldCount {
|
||||||
var fname: String = "";
|
var fname: String = "";
|
||||||
var ftype: *TypeExpr = null as *TypeExpr;
|
var ftype: *TypeExpr = null as *TypeExpr;
|
||||||
if fi == 0 { fname = decl.field0.name; ftype = decl.field0.refFieldType; }
|
fname = decl.fields[fi].name;
|
||||||
else if fi == 1 { fname = decl.field1.name; ftype = decl.field1.refFieldType; }
|
ftype = decl.fields[fi].refFieldType;
|
||||||
else if fi == 2 { fname = decl.field2.name; ftype = decl.field2.refFieldType; }
|
|
||||||
else if fi == 3 { fname = decl.field3.name; ftype = decl.field3.refFieldType; }
|
|
||||||
else if fi == 4 { fname = decl.field4.name; ftype = decl.field4.refFieldType; }
|
|
||||||
else if fi == 5 { fname = decl.field5.name; ftype = decl.field5.refFieldType; }
|
|
||||||
else if fi == 6 { fname = decl.field6.name; ftype = decl.field6.refFieldType; }
|
|
||||||
else if fi == 7 { fname = decl.field7.name; ftype = decl.field7.refFieldType; }
|
|
||||||
else if fi == 8 { fname = decl.field8.name; ftype = decl.field8.refFieldType; }
|
|
||||||
else if fi == 9 { fname = decl.field9.name; ftype = decl.field9.refFieldType; }
|
|
||||||
else if fi == 10 { fname = decl.field10.name; ftype = decl.field10.refFieldType; }
|
|
||||||
else if fi == 11 { fname = decl.field11.name; ftype = decl.field11.refFieldType; }
|
|
||||||
else if fi == 12 { fname = decl.field12.name; ftype = decl.field12.refFieldType; }
|
|
||||||
else if fi == 13 { fname = decl.field13.name; ftype = decl.field13.refFieldType; }
|
|
||||||
else if fi == 14 { fname = decl.field14.name; ftype = decl.field14.refFieldType; }
|
|
||||||
else if fi == 15 { fname = decl.field15.name; ftype = decl.field15.refFieldType; }
|
|
||||||
else if fi == 16 { fname = decl.field16.name; ftype = decl.field16.refFieldType; }
|
|
||||||
else if fi == 17 { fname = decl.field17.name; ftype = decl.field17.refFieldType; }
|
|
||||||
else if fi == 18 { fname = decl.field18.name; ftype = decl.field18.refFieldType; }
|
|
||||||
else if fi == 19 { fname = decl.field19.name; ftype = decl.field19.refFieldType; }
|
|
||||||
else if fi == 20 { fname = decl.field20.name; ftype = decl.field20.refFieldType; }
|
|
||||||
else if fi == 21 { fname = decl.field21.name; ftype = decl.field21.refFieldType; }
|
|
||||||
else if fi == 22 { fname = decl.field22.name; ftype = decl.field22.refFieldType; }
|
|
||||||
else if fi == 23 { fname = decl.field23.name; ftype = decl.field23.refFieldType; }
|
|
||||||
else if fi == 24 { fname = decl.field24.name; ftype = decl.field24.refFieldType; }
|
|
||||||
else if fi == 25 { fname = decl.field25.name; ftype = decl.field25.refFieldType; }
|
|
||||||
else if fi == 26 { fname = decl.field26.name; ftype = decl.field26.refFieldType; }
|
|
||||||
else if fi == 27 { fname = decl.field27.name; ftype = decl.field27.refFieldType; }
|
|
||||||
else if fi == 28 { fname = decl.field28.name; ftype = decl.field28.refFieldType; }
|
|
||||||
else if fi == 29 { fname = decl.field29.name; ftype = decl.field29.refFieldType; }
|
|
||||||
else if fi == 30 { fname = decl.field30.name; ftype = decl.field30.refFieldType; }
|
|
||||||
else if fi == 31 { fname = decl.field31.name; ftype = decl.field31.refFieldType; }
|
|
||||||
else if fi == 32 { fname = decl.field32.name; ftype = decl.field32.refFieldType; }
|
|
||||||
else if fi == 33 { fname = decl.field33.name; ftype = decl.field33.refFieldType; }
|
|
||||||
else if fi == 34 { fname = decl.field34.name; ftype = decl.field34.refFieldType; }
|
|
||||||
else if fi == 35 { fname = decl.field35.name; ftype = decl.field35.refFieldType; }
|
|
||||||
else if fi == 36 { fname = decl.field36.name; ftype = decl.field36.refFieldType; }
|
|
||||||
else if fi == 37 { fname = decl.field37.name; ftype = decl.field37.refFieldType; }
|
|
||||||
else if fi == 38 { fname = decl.field38.name; ftype = decl.field38.refFieldType; }
|
|
||||||
else if fi == 39 { fname = decl.field39.name; ftype = decl.field39.refFieldType; }
|
|
||||||
else if fi == 40 { fname = decl.field40.name; ftype = decl.field40.refFieldType; }
|
|
||||||
else if fi == 41 { fname = decl.field41.name; ftype = decl.field41.refFieldType; }
|
|
||||||
else if fi == 42 { fname = decl.field42.name; ftype = decl.field42.refFieldType; }
|
|
||||||
else if fi == 43 { fname = decl.field43.name; ftype = decl.field43.refFieldType; }
|
|
||||||
else if fi == 44 { fname = decl.field44.name; ftype = decl.field44.refFieldType; }
|
|
||||||
else if fi == 45 { fname = decl.field45.name; ftype = decl.field45.refFieldType; }
|
|
||||||
else if fi == 46 { fname = decl.field46.name; ftype = decl.field46.refFieldType; }
|
|
||||||
else if fi == 47 { fname = decl.field47.name; ftype = decl.field47.refFieldType; }
|
|
||||||
else if fi == 48 { fname = decl.field48.name; ftype = decl.field48.refFieldType; }
|
|
||||||
else if fi == 49 { fname = decl.field49.name; ftype = decl.field49.refFieldType; }
|
|
||||||
else if fi == 50 { fname = decl.field50.name; ftype = decl.field50.refFieldType; }
|
|
||||||
else if fi == 51 { fname = decl.field51.name; ftype = decl.field51.refFieldType; }
|
|
||||||
else if fi == 52 { fname = decl.field52.name; ftype = decl.field52.refFieldType; }
|
|
||||||
else if fi == 53 { fname = decl.field53.name; ftype = decl.field53.refFieldType; }
|
|
||||||
else if fi == 54 { fname = decl.field54.name; ftype = decl.field54.refFieldType; }
|
|
||||||
else if fi == 55 { fname = decl.field55.name; ftype = decl.field55.refFieldType; }
|
|
||||||
else if fi == 56 { fname = decl.field56.name; ftype = decl.field56.refFieldType; }
|
|
||||||
else if fi == 57 { fname = decl.field57.name; ftype = decl.field57.refFieldType; }
|
|
||||||
else if fi == 58 { fname = decl.field58.name; ftype = decl.field58.refFieldType; }
|
|
||||||
else if fi == 59 { fname = decl.field59.name; ftype = decl.field59.refFieldType; }
|
|
||||||
else if fi == 60 { fname = decl.field60.name; ftype = decl.field60.refFieldType; }
|
|
||||||
else if fi == 61 { fname = decl.field61.name; ftype = decl.field61.refFieldType; }
|
|
||||||
else if fi == 62 { fname = decl.field62.name; ftype = decl.field62.refFieldType; }
|
|
||||||
else if fi == 63 { fname = decl.field63.name; ftype = decl.field63.refFieldType; }
|
|
||||||
else if fi == 64 { fname = decl.field64.name; ftype = decl.field64.refFieldType; }
|
|
||||||
else if fi == 65 { fname = decl.field65.name; ftype = decl.field65.refFieldType; }
|
|
||||||
else if fi == 66 { fname = decl.field66.name; ftype = decl.field66.refFieldType; }
|
|
||||||
else if fi == 67 { fname = decl.field67.name; ftype = decl.field67.refFieldType; }
|
|
||||||
else if fi == 68 { fname = decl.field68.name; ftype = decl.field68.refFieldType; }
|
|
||||||
else if fi == 69 { fname = decl.field69.name; ftype = decl.field69.refFieldType; }
|
|
||||||
else if fi == 70 { fname = decl.field70.name; ftype = decl.field70.refFieldType; }
|
|
||||||
else if fi == 71 { fname = decl.field71.name; ftype = decl.field71.refFieldType; }
|
|
||||||
else if fi == 72 { fname = decl.field72.name; ftype = decl.field72.refFieldType; }
|
|
||||||
else if fi == 73 { fname = decl.field73.name; ftype = decl.field73.refFieldType; }
|
|
||||||
else if fi == 74 { fname = decl.field74.name; ftype = decl.field74.refFieldType; }
|
|
||||||
else if fi == 75 { fname = decl.field75.name; ftype = decl.field75.refFieldType; }
|
|
||||||
else if fi == 76 { fname = decl.field76.name; ftype = decl.field76.refFieldType; }
|
|
||||||
else if fi == 77 { fname = decl.field77.name; ftype = decl.field77.refFieldType; }
|
|
||||||
else if fi == 78 { fname = decl.field78.name; ftype = decl.field78.refFieldType; }
|
|
||||||
else if fi == 79 { fname = decl.field79.name; ftype = decl.field79.refFieldType; }
|
|
||||||
else if fi == 80 { fname = decl.field80.name; ftype = decl.field80.refFieldType; }
|
|
||||||
else if fi == 81 { fname = decl.field81.name; ftype = decl.field81.refFieldType; }
|
|
||||||
else if fi == 82 { fname = decl.field82.name; ftype = decl.field82.refFieldType; }
|
|
||||||
else if fi == 83 { fname = decl.field83.name; ftype = decl.field83.refFieldType; }
|
|
||||||
else if fi == 84 { fname = decl.field84.name; ftype = decl.field84.refFieldType; }
|
|
||||||
else if fi == 85 { fname = decl.field85.name; ftype = decl.field85.refFieldType; }
|
|
||||||
else if fi == 86 { fname = decl.field86.name; ftype = decl.field86.refFieldType; }
|
|
||||||
else if fi == 87 { fname = decl.field87.name; ftype = decl.field87.refFieldType; }
|
|
||||||
else if fi == 88 { fname = decl.field88.name; ftype = decl.field88.refFieldType; }
|
|
||||||
else if fi == 89 { fname = decl.field89.name; ftype = decl.field89.refFieldType; }
|
|
||||||
else if fi == 90 { fname = decl.field90.name; ftype = decl.field90.refFieldType; }
|
|
||||||
else if fi == 91 { fname = decl.field91.name; ftype = decl.field91.refFieldType; }
|
|
||||||
else if fi == 92 { fname = decl.field92.name; ftype = decl.field92.refFieldType; }
|
|
||||||
else if fi == 93 { fname = decl.field93.name; ftype = decl.field93.refFieldType; }
|
|
||||||
else if fi == 94 { fname = decl.field94.name; ftype = decl.field94.refFieldType; }
|
|
||||||
else if fi == 95 { fname = decl.field95.name; ftype = decl.field95.refFieldType; }
|
|
||||||
else if fi == 96 { fname = decl.field96.name; ftype = decl.field96.refFieldType; }
|
|
||||||
else if fi == 97 { fname = decl.field97.name; ftype = decl.field97.refFieldType; }
|
|
||||||
else if fi == 98 { fname = decl.field98.name; ftype = decl.field98.refFieldType; }
|
|
||||||
else if fi == 99 { fname = decl.field99.name; ftype = decl.field99.refFieldType; }
|
|
||||||
else if fi == 100 { fname = decl.field100.name; ftype = decl.field100.refFieldType; }
|
|
||||||
else if fi == 101 { fname = decl.field101.name; ftype = decl.field101.refFieldType; }
|
|
||||||
else if fi == 102 { fname = decl.field102.name; ftype = decl.field102.refFieldType; }
|
|
||||||
else if fi == 103 { fname = decl.field103.name; ftype = decl.field103.refFieldType; }
|
|
||||||
else if fi == 104 { fname = decl.field104.name; ftype = decl.field104.refFieldType; }
|
|
||||||
else if fi == 105 { fname = decl.field105.name; ftype = decl.field105.refFieldType; }
|
|
||||||
else if fi == 106 { fname = decl.field106.name; ftype = decl.field106.refFieldType; }
|
|
||||||
else if fi == 107 { fname = decl.field107.name; ftype = decl.field107.refFieldType; }
|
|
||||||
else if fi == 108 { fname = decl.field108.name; ftype = decl.field108.refFieldType; }
|
|
||||||
else if fi == 109 { fname = decl.field109.name; ftype = decl.field109.refFieldType; }
|
|
||||||
else if fi == 110 { fname = decl.field110.name; ftype = decl.field110.refFieldType; }
|
|
||||||
else if fi == 111 { fname = decl.field111.name; ftype = decl.field111.refFieldType; }
|
|
||||||
else if fi == 112 { fname = decl.field112.name; ftype = decl.field112.refFieldType; }
|
|
||||||
else if fi == 113 { fname = decl.field113.name; ftype = decl.field113.refFieldType; }
|
|
||||||
else if fi == 114 { fname = decl.field114.name; ftype = decl.field114.refFieldType; }
|
|
||||||
else if fi == 115 { fname = decl.field115.name; ftype = decl.field115.refFieldType; }
|
|
||||||
else if fi == 116 { fname = decl.field116.name; ftype = decl.field116.refFieldType; }
|
|
||||||
else if fi == 117 { fname = decl.field117.name; ftype = decl.field117.refFieldType; }
|
|
||||||
else if fi == 118 { fname = decl.field118.name; ftype = decl.field118.refFieldType; }
|
|
||||||
else if fi == 119 { fname = decl.field119.name; ftype = decl.field119.refFieldType; }
|
|
||||||
else if fi == 120 { fname = decl.field120.name; ftype = decl.field120.refFieldType; }
|
|
||||||
else if fi == 121 { fname = decl.field121.name; ftype = decl.field121.refFieldType; }
|
|
||||||
else if fi == 122 { fname = decl.field122.name; ftype = decl.field122.refFieldType; }
|
|
||||||
else if fi == 123 { fname = decl.field123.name; ftype = decl.field123.refFieldType; }
|
|
||||||
else if fi == 124 { fname = decl.field124.name; ftype = decl.field124.refFieldType; }
|
|
||||||
else if fi == 125 { fname = decl.field125.name; ftype = decl.field125.refFieldType; }
|
|
||||||
else if fi == 126 { fname = decl.field126.name; ftype = decl.field126.refFieldType; }
|
|
||||||
else if fi == 127 { fname = decl.field127.name; ftype = decl.field127.refFieldType; }
|
|
||||||
else if fi == 128 { fname = decl.field128.name; ftype = decl.field128.refFieldType; }
|
|
||||||
else if fi == 129 { fname = decl.field129.name; ftype = decl.field129.refFieldType; }
|
|
||||||
else if fi == 130 { fname = decl.field130.name; ftype = decl.field130.refFieldType; }
|
|
||||||
else if fi == 131 { fname = decl.field131.name; ftype = decl.field131.refFieldType; }
|
|
||||||
else if fi == 132 { fname = decl.field132.name; ftype = decl.field132.refFieldType; }
|
|
||||||
else if fi == 133 { fname = decl.field133.name; ftype = decl.field133.refFieldType; }
|
|
||||||
else if fi == 134 { fname = decl.field134.name; ftype = decl.field134.refFieldType; }
|
|
||||||
else if fi == 135 { fname = decl.field135.name; ftype = decl.field135.refFieldType; }
|
|
||||||
else if fi == 136 { fname = decl.field136.name; ftype = decl.field136.refFieldType; }
|
|
||||||
else if fi == 137 { fname = decl.field137.name; ftype = decl.field137.refFieldType; }
|
|
||||||
else if fi == 138 { fname = decl.field138.name; ftype = decl.field138.refFieldType; }
|
|
||||||
else if fi == 139 { fname = decl.field139.name; ftype = decl.field139.refFieldType; }
|
|
||||||
else if fi == 140 { fname = decl.field140.name; ftype = decl.field140.refFieldType; }
|
|
||||||
else if fi == 141 { fname = decl.field141.name; ftype = decl.field141.refFieldType; }
|
|
||||||
else if fi == 142 { fname = decl.field142.name; ftype = decl.field142.refFieldType; }
|
|
||||||
else if fi == 143 { fname = decl.field143.name; ftype = decl.field143.refFieldType; }
|
|
||||||
else if fi == 144 { fname = decl.field144.name; ftype = decl.field144.refFieldType; }
|
|
||||||
else if fi == 145 { fname = decl.field145.name; ftype = decl.field145.refFieldType; }
|
|
||||||
else if fi == 146 { fname = decl.field146.name; ftype = decl.field146.refFieldType; }
|
|
||||||
else if fi == 147 { fname = decl.field147.name; ftype = decl.field147.refFieldType; }
|
|
||||||
else if fi == 148 { fname = decl.field148.name; ftype = decl.field148.refFieldType; }
|
|
||||||
else if fi == 149 { fname = decl.field149.name; ftype = decl.field149.refFieldType; }
|
|
||||||
else if fi == 150 { fname = decl.field150.name; ftype = decl.field150.refFieldType; }
|
|
||||||
else if fi == 151 { fname = decl.field151.name; ftype = decl.field151.refFieldType; }
|
|
||||||
else if fi == 152 { fname = decl.field152.name; ftype = decl.field152.refFieldType; }
|
|
||||||
else if fi == 153 { fname = decl.field153.name; ftype = decl.field153.refFieldType; }
|
|
||||||
else if fi == 154 { fname = decl.field154.name; ftype = decl.field154.refFieldType; }
|
|
||||||
else if fi == 155 { fname = decl.field155.name; ftype = decl.field155.refFieldType; }
|
|
||||||
else if fi == 156 { fname = decl.field156.name; ftype = decl.field156.refFieldType; }
|
|
||||||
else if fi == 157 { fname = decl.field157.name; ftype = decl.field157.refFieldType; }
|
|
||||||
else if fi == 158 { fname = decl.field158.name; ftype = decl.field158.refFieldType; }
|
|
||||||
else if fi == 159 { fname = decl.field159.name; ftype = decl.field159.refFieldType; }
|
|
||||||
else if fi == 160 { fname = decl.field160.name; ftype = decl.field160.refFieldType; }
|
|
||||||
else if fi == 161 { fname = decl.field161.name; ftype = decl.field161.refFieldType; }
|
|
||||||
else if fi == 162 { fname = decl.field162.name; ftype = decl.field162.refFieldType; }
|
|
||||||
else if fi == 163 { fname = decl.field163.name; ftype = decl.field163.refFieldType; }
|
|
||||||
else if fi == 164 { fname = decl.field164.name; ftype = decl.field164.refFieldType; }
|
|
||||||
else if fi == 165 { fname = decl.field165.name; ftype = decl.field165.refFieldType; }
|
|
||||||
else if fi == 166 { fname = decl.field166.name; ftype = decl.field166.refFieldType; }
|
|
||||||
else if fi == 167 { fname = decl.field167.name; ftype = decl.field167.refFieldType; }
|
|
||||||
else if fi == 168 { fname = decl.field168.name; ftype = decl.field168.refFieldType; }
|
|
||||||
else if fi == 169 { fname = decl.field169.name; ftype = decl.field169.refFieldType; }
|
|
||||||
else if fi == 170 { fname = decl.field170.name; ftype = decl.field170.refFieldType; }
|
|
||||||
else if fi == 171 { fname = decl.field171.name; ftype = decl.field171.refFieldType; }
|
|
||||||
else if fi == 172 { fname = decl.field172.name; ftype = decl.field172.refFieldType; }
|
|
||||||
else if fi == 173 { fname = decl.field173.name; ftype = decl.field173.refFieldType; }
|
|
||||||
else if fi == 174 { fname = decl.field174.name; ftype = decl.field174.refFieldType; }
|
|
||||||
else if fi == 175 { fname = decl.field175.name; ftype = decl.field175.refFieldType; }
|
|
||||||
else if fi == 176 { fname = decl.field176.name; ftype = decl.field176.refFieldType; }
|
|
||||||
else if fi == 177 { fname = decl.field177.name; ftype = decl.field177.refFieldType; }
|
|
||||||
else if fi == 178 { fname = decl.field178.name; ftype = decl.field178.refFieldType; }
|
|
||||||
else if fi == 179 { fname = decl.field179.name; ftype = decl.field179.refFieldType; }
|
|
||||||
else if fi == 180 { fname = decl.field180.name; ftype = decl.field180.refFieldType; }
|
|
||||||
else if fi == 181 { fname = decl.field181.name; ftype = decl.field181.refFieldType; }
|
|
||||||
else if fi == 182 { fname = decl.field182.name; ftype = decl.field182.refFieldType; }
|
|
||||||
else if fi == 183 { fname = decl.field183.name; ftype = decl.field183.refFieldType; }
|
|
||||||
else if fi == 184 { fname = decl.field184.name; ftype = decl.field184.refFieldType; }
|
|
||||||
else if fi == 185 { fname = decl.field185.name; ftype = decl.field185.refFieldType; }
|
|
||||||
else if fi == 186 { fname = decl.field186.name; ftype = decl.field186.refFieldType; }
|
|
||||||
else if fi == 187 { fname = decl.field187.name; ftype = decl.field187.refFieldType; }
|
|
||||||
else if fi == 188 { fname = decl.field188.name; ftype = decl.field188.refFieldType; }
|
|
||||||
else if fi == 189 { fname = decl.field189.name; ftype = decl.field189.refFieldType; }
|
|
||||||
else if fi == 190 { fname = decl.field190.name; ftype = decl.field190.refFieldType; }
|
|
||||||
else if fi == 191 { fname = decl.field191.name; ftype = decl.field191.refFieldType; }
|
|
||||||
else if fi == 192 { fname = decl.field192.name; ftype = decl.field192.refFieldType; }
|
|
||||||
else if fi == 193 { fname = decl.field193.name; ftype = decl.field193.refFieldType; }
|
|
||||||
else if fi == 194 { fname = decl.field194.name; ftype = decl.field194.refFieldType; }
|
|
||||||
else if fi == 195 { fname = decl.field195.name; ftype = decl.field195.refFieldType; }
|
|
||||||
else if fi == 196 { fname = decl.field196.name; ftype = decl.field196.refFieldType; }
|
|
||||||
else if fi == 197 { fname = decl.field197.name; ftype = decl.field197.refFieldType; }
|
|
||||||
else if fi == 198 { fname = decl.field198.name; ftype = decl.field198.refFieldType; }
|
|
||||||
else if fi == 199 { fname = decl.field199.name; ftype = decl.field199.refFieldType; }
|
|
||||||
else if fi == 200 { fname = decl.field200.name; ftype = decl.field200.refFieldType; }
|
|
||||||
else if fi == 201 { fname = decl.field201.name; ftype = decl.field201.refFieldType; }
|
|
||||||
else if fi == 202 { fname = decl.field202.name; ftype = decl.field202.refFieldType; }
|
|
||||||
else if fi == 203 { fname = decl.field203.name; ftype = decl.field203.refFieldType; }
|
|
||||||
else if fi == 204 { fname = decl.field204.name; ftype = decl.field204.refFieldType; }
|
|
||||||
else if fi == 205 { fname = decl.field205.name; ftype = decl.field205.refFieldType; }
|
|
||||||
else if fi == 206 { fname = decl.field206.name; ftype = decl.field206.refFieldType; }
|
|
||||||
else if fi == 207 { fname = decl.field207.name; ftype = decl.field207.refFieldType; }
|
|
||||||
else if fi == 208 { fname = decl.field208.name; ftype = decl.field208.refFieldType; }
|
|
||||||
else if fi == 209 { fname = decl.field209.name; ftype = decl.field209.refFieldType; }
|
|
||||||
else if fi == 210 { fname = decl.field210.name; ftype = decl.field210.refFieldType; }
|
|
||||||
else if fi == 211 { fname = decl.field211.name; ftype = decl.field211.refFieldType; }
|
|
||||||
else if fi == 212 { fname = decl.field212.name; ftype = decl.field212.refFieldType; }
|
|
||||||
else if fi == 213 { fname = decl.field213.name; ftype = decl.field213.refFieldType; }
|
|
||||||
else if fi == 214 { fname = decl.field214.name; ftype = decl.field214.refFieldType; }
|
|
||||||
else if fi == 215 { fname = decl.field215.name; ftype = decl.field215.refFieldType; }
|
|
||||||
else if fi == 216 { fname = decl.field216.name; ftype = decl.field216.refFieldType; }
|
|
||||||
else if fi == 217 { fname = decl.field217.name; ftype = decl.field217.refFieldType; }
|
|
||||||
else if fi == 218 { fname = decl.field218.name; ftype = decl.field218.refFieldType; }
|
|
||||||
else if fi == 219 { fname = decl.field219.name; ftype = decl.field219.refFieldType; }
|
|
||||||
else if fi == 220 { fname = decl.field220.name; ftype = decl.field220.refFieldType; }
|
|
||||||
else if fi == 221 { fname = decl.field221.name; ftype = decl.field221.refFieldType; }
|
|
||||||
else if fi == 222 { fname = decl.field222.name; ftype = decl.field222.refFieldType; }
|
|
||||||
else if fi == 223 { fname = decl.field223.name; ftype = decl.field223.refFieldType; }
|
|
||||||
else if fi == 224 { fname = decl.field224.name; ftype = decl.field224.refFieldType; }
|
|
||||||
else if fi == 225 { fname = decl.field225.name; ftype = decl.field225.refFieldType; }
|
|
||||||
else if fi == 226 { fname = decl.field226.name; ftype = decl.field226.refFieldType; }
|
|
||||||
else if fi == 227 { fname = decl.field227.name; ftype = decl.field227.refFieldType; }
|
|
||||||
else if fi == 228 { fname = decl.field228.name; ftype = decl.field228.refFieldType; }
|
|
||||||
else if fi == 229 { fname = decl.field229.name; ftype = decl.field229.refFieldType; }
|
|
||||||
else if fi == 230 { fname = decl.field230.name; ftype = decl.field230.refFieldType; }
|
|
||||||
else if fi == 231 { fname = decl.field231.name; ftype = decl.field231.refFieldType; }
|
|
||||||
else if fi == 232 { fname = decl.field232.name; ftype = decl.field232.refFieldType; }
|
|
||||||
else if fi == 233 { fname = decl.field233.name; ftype = decl.field233.refFieldType; }
|
|
||||||
else if fi == 234 { fname = decl.field234.name; ftype = decl.field234.refFieldType; }
|
|
||||||
else if fi == 235 { fname = decl.field235.name; ftype = decl.field235.refFieldType; }
|
|
||||||
else if fi == 236 { fname = decl.field236.name; ftype = decl.field236.refFieldType; }
|
|
||||||
else if fi == 237 { fname = decl.field237.name; ftype = decl.field237.refFieldType; }
|
|
||||||
else if fi == 238 { fname = decl.field238.name; ftype = decl.field238.refFieldType; }
|
|
||||||
else if fi == 239 { fname = decl.field239.name; ftype = decl.field239.refFieldType; }
|
|
||||||
else if fi == 240 { fname = decl.field240.name; ftype = decl.field240.refFieldType; }
|
|
||||||
else if fi == 241 { fname = decl.field241.name; ftype = decl.field241.refFieldType; }
|
|
||||||
else if fi == 242 { fname = decl.field242.name; ftype = decl.field242.refFieldType; }
|
|
||||||
else if fi == 243 { fname = decl.field243.name; ftype = decl.field243.refFieldType; }
|
|
||||||
else if fi == 244 { fname = decl.field244.name; ftype = decl.field244.refFieldType; }
|
|
||||||
else if fi == 245 { fname = decl.field245.name; ftype = decl.field245.refFieldType; }
|
|
||||||
else if fi == 246 { fname = decl.field246.name; ftype = decl.field246.refFieldType; }
|
|
||||||
else if fi == 247 { fname = decl.field247.name; ftype = decl.field247.refFieldType; }
|
|
||||||
else if fi == 248 { fname = decl.field248.name; ftype = decl.field248.refFieldType; }
|
|
||||||
else if fi == 249 { fname = decl.field249.name; ftype = decl.field249.refFieldType; }
|
|
||||||
else if fi == 250 { fname = decl.field250.name; ftype = decl.field250.refFieldType; }
|
|
||||||
else if fi == 251 { fname = decl.field251.name; ftype = decl.field251.refFieldType; }
|
|
||||||
else if fi == 252 { fname = decl.field252.name; ftype = decl.field252.refFieldType; }
|
|
||||||
else if fi == 253 { fname = decl.field253.name; ftype = decl.field253.refFieldType; }
|
|
||||||
else if fi == 254 { fname = decl.field254.name; ftype = decl.field254.refFieldType; }
|
|
||||||
else if fi == 255 { fname = decl.field255.name; ftype = decl.field255.refFieldType; }
|
|
||||||
// Skip empty field names
|
// Skip empty field names
|
||||||
if String_Eq(fname, "") {
|
if String_Eq(fname, "") {
|
||||||
fi = fi + 1;
|
fi = fi + 1;
|
||||||
|
|||||||
@@ -323,6 +323,11 @@ func lexScanIdent(lex: *Lexer) {
|
|||||||
lex.tokens[lex.tokenCount] = tok;
|
lex.tokens[lex.tokenCount] = tok;
|
||||||
lex.tokenCount = lex.tokenCount + 1;
|
lex.tokenCount = lex.tokenCount + 1;
|
||||||
}
|
}
|
||||||
|
if String_StartsWith(tok.text, "field") {
|
||||||
|
PrintLine(String_Concat("DEBUG lexer ident=", tok.text));
|
||||||
|
PrintLine(String_Concat("DEBUG lexer addr=", bux_int_to_str(tok.text as int64)));
|
||||||
|
PrintLine(String_Concat("DEBUG lexer pos=", bux_int_to_str(lex.tokenCount as int64)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|||||||
+19
-773
@@ -476,7 +476,7 @@ func parserParsePostfixExpr(p: *Parser) -> *Expr {
|
|||||||
discard parserAdvance(p);
|
discard parserAdvance(p);
|
||||||
let line: uint32 = parserCurToken(p).line;
|
let line: uint32 = parserCurToken(p).line;
|
||||||
let col: uint32 = parserCurToken(p).column;
|
let col: uint32 = parserCurToken(p).column;
|
||||||
let name: LexToken = parserExpect(p, tkIdent, "expected field name");
|
let name: LexToken = parserExpectIdentOrKeyword(p, "expected field name");
|
||||||
let e: *Expr = parserMakeExpr(ekField, line, col);
|
let e: *Expr = parserMakeExpr(ekField, line, col);
|
||||||
e.child1 = left;
|
e.child1 = left;
|
||||||
e.strValue = name.text;
|
e.strValue = name.text;
|
||||||
@@ -489,7 +489,7 @@ func parserParsePostfixExpr(p: *Parser) -> *Expr {
|
|||||||
discard parserAdvance(p);
|
discard parserAdvance(p);
|
||||||
let line: uint32 = parserCurToken(p).line;
|
let line: uint32 = parserCurToken(p).line;
|
||||||
let col: uint32 = parserCurToken(p).column;
|
let col: uint32 = parserCurToken(p).column;
|
||||||
let name: LexToken = parserExpect(p, tkIdent, "expected path segment");
|
let name: LexToken = parserExpectIdentOrKeyword(p, "expected path segment");
|
||||||
let e: *Expr = parserMakeExpr(ekField, line, col);
|
let e: *Expr = parserMakeExpr(ekField, line, col);
|
||||||
e.child1 = left;
|
e.child1 = left;
|
||||||
e.strValue = name.text;
|
e.strValue = name.text;
|
||||||
@@ -553,6 +553,7 @@ func parserParsePostfixExpr(p: *Parser) -> *Expr {
|
|||||||
let siCol: uint32 = parserCurToken(p).column;
|
let siCol: uint32 = parserCurToken(p).column;
|
||||||
let typeName: String = left.strValue;
|
let typeName: String = left.strValue;
|
||||||
var fieldCount: int = 0;
|
var fieldCount: int = 0;
|
||||||
|
PrintLine("PARSER FIX V2 ACTIVE");
|
||||||
var firstField: *Expr = null as *Expr;
|
var firstField: *Expr = null as *Expr;
|
||||||
var lastField: *Expr = null as *Expr;
|
var lastField: *Expr = null as *Expr;
|
||||||
while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile {
|
while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile {
|
||||||
@@ -1190,11 +1191,16 @@ func parserParseStructDecl(p: *Parser, isPublic: bool) -> *Decl {
|
|||||||
let nameTok: LexToken = parserExpectIdentOrKeyword(p, "expected struct name");
|
let nameTok: LexToken = parserExpectIdentOrKeyword(p, "expected struct name");
|
||||||
|
|
||||||
let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl;
|
let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl;
|
||||||
|
d.fields = bux_alloc(256 as uint * sizeof(StructField)) as *StructField;
|
||||||
|
if d.fields == null as *StructField {
|
||||||
|
PrintLine("ERROR: bux_alloc returned null for fields");
|
||||||
|
}
|
||||||
d.kind = dkStruct;
|
d.kind = dkStruct;
|
||||||
d.line = line;
|
d.line = line;
|
||||||
d.column = col;
|
d.column = col;
|
||||||
d.isPublic = isPublic;
|
d.isPublic = isPublic;
|
||||||
d.strValue = nameTok.text;
|
d.strValue = nameTok.text;
|
||||||
|
var fieldCount: int = 0;
|
||||||
|
|
||||||
// Type params
|
// Type params
|
||||||
if parserCheck(p, tkLt) {
|
if parserCheck(p, tkLt) {
|
||||||
@@ -1212,11 +1218,16 @@ func parserParseStructDecl(p: *Parser, isPublic: bool) -> *Decl {
|
|||||||
|
|
||||||
discard parserExpect(p, tkLBrace, "expected '{'");
|
discard parserExpect(p, tkLBrace, "expected '{'");
|
||||||
while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile {
|
while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile {
|
||||||
if d.fieldCount >= 256 { break; }
|
if fieldCount >= 256 { break; }
|
||||||
if parserCheck(p, tkNewLine) { discard parserAdvance(p); continue; }
|
if parserCheck(p, tkNewLine) { discard parserAdvance(p); continue; }
|
||||||
if parserCheck(p, tkSemicolon) { discard parserAdvance(p); continue; }
|
if parserCheck(p, tkSemicolon) { discard parserAdvance(p); continue; }
|
||||||
let beforePos: int = p.pos;
|
let beforePos: int = p.pos;
|
||||||
let fName: LexToken = parserExpectIdentOrKeyword(p, "expected field name");
|
let fName: LexToken = parserExpectIdentOrKeyword(p, "expected field name");
|
||||||
|
if fieldCount >= 250 && fieldCount <= 256 {
|
||||||
|
PrintLine(String_Concat("RAW fieldCount=", bux_int_to_str(fieldCount as int64)));
|
||||||
|
PrintLine(String_Concat("RAW fName=", fName.text));
|
||||||
|
PrintLine(String_Concat("RAW pos=", bux_int_to_str(p.pos as int64)));
|
||||||
|
}
|
||||||
discard parserExpect(p, tkColon, "expected ':' in struct field");
|
discard parserExpect(p, tkColon, "expected ':' in struct field");
|
||||||
let fType: *TypeExpr = parserParseType(p);
|
let fType: *TypeExpr = parserParseType(p);
|
||||||
parserMatch(p, tkSemicolon);
|
parserMatch(p, tkSemicolon);
|
||||||
@@ -1226,777 +1237,12 @@ func parserParseStructDecl(p: *Parser, isPublic: bool) -> *Decl {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if d.fieldCount == 0 {
|
d.fields[fieldCount].name = fName.text;
|
||||||
d.field0.name = fName.text;
|
d.fields[fieldCount].refFieldType = fType;
|
||||||
d.field0.refFieldType = fType;
|
fieldCount = fieldCount + 1;
|
||||||
} else if d.fieldCount == 1 {
|
|
||||||
d.field1.name = fName.text;
|
|
||||||
d.field1.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 2 {
|
|
||||||
d.field2.name = fName.text;
|
|
||||||
d.field2.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 3 {
|
|
||||||
d.field3.name = fName.text;
|
|
||||||
d.field3.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 4 {
|
|
||||||
d.field4.name = fName.text;
|
|
||||||
d.field4.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 5 {
|
|
||||||
d.field5.name = fName.text;
|
|
||||||
d.field5.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 6 {
|
|
||||||
d.field6.name = fName.text;
|
|
||||||
d.field6.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 7 {
|
|
||||||
d.field7.name = fName.text;
|
|
||||||
d.field7.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 8 {
|
|
||||||
d.field8.name = fName.text;
|
|
||||||
d.field8.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 9 {
|
|
||||||
d.field9.name = fName.text;
|
|
||||||
d.field9.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 10 {
|
|
||||||
d.field10.name = fName.text;
|
|
||||||
d.field10.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 11 {
|
|
||||||
d.field11.name = fName.text;
|
|
||||||
d.field11.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 12 {
|
|
||||||
d.field12.name = fName.text;
|
|
||||||
d.field12.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 13 {
|
|
||||||
d.field13.name = fName.text;
|
|
||||||
d.field13.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 14 {
|
|
||||||
d.field14.name = fName.text;
|
|
||||||
d.field14.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 15 {
|
|
||||||
d.field15.name = fName.text;
|
|
||||||
d.field15.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 16 {
|
|
||||||
d.field16.name = fName.text;
|
|
||||||
d.field16.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 17 {
|
|
||||||
d.field17.name = fName.text;
|
|
||||||
d.field17.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 18 {
|
|
||||||
d.field18.name = fName.text;
|
|
||||||
d.field18.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 19 {
|
|
||||||
d.field19.name = fName.text;
|
|
||||||
d.field19.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 20 {
|
|
||||||
d.field20.name = fName.text;
|
|
||||||
d.field20.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 21 {
|
|
||||||
d.field21.name = fName.text;
|
|
||||||
d.field21.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 22 {
|
|
||||||
d.field22.name = fName.text;
|
|
||||||
d.field22.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 23 {
|
|
||||||
d.field23.name = fName.text;
|
|
||||||
d.field23.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 24 {
|
|
||||||
d.field24.name = fName.text;
|
|
||||||
d.field24.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 25 {
|
|
||||||
d.field25.name = fName.text;
|
|
||||||
d.field25.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 26 {
|
|
||||||
d.field26.name = fName.text;
|
|
||||||
d.field26.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 27 {
|
|
||||||
d.field27.name = fName.text;
|
|
||||||
d.field27.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 28 {
|
|
||||||
d.field28.name = fName.text;
|
|
||||||
d.field28.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 29 {
|
|
||||||
d.field29.name = fName.text;
|
|
||||||
d.field29.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 30 {
|
|
||||||
d.field30.name = fName.text;
|
|
||||||
d.field30.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 31 {
|
|
||||||
d.field31.name = fName.text;
|
|
||||||
d.field31.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 32 {
|
|
||||||
d.field32.name = fName.text;
|
|
||||||
d.field32.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 33 {
|
|
||||||
d.field33.name = fName.text;
|
|
||||||
d.field33.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 34 {
|
|
||||||
d.field34.name = fName.text;
|
|
||||||
d.field34.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 35 {
|
|
||||||
d.field35.name = fName.text;
|
|
||||||
d.field35.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 36 {
|
|
||||||
d.field36.name = fName.text;
|
|
||||||
d.field36.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 37 {
|
|
||||||
d.field37.name = fName.text;
|
|
||||||
d.field37.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 38 {
|
|
||||||
d.field38.name = fName.text;
|
|
||||||
d.field38.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 39 {
|
|
||||||
d.field39.name = fName.text;
|
|
||||||
d.field39.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 40 {
|
|
||||||
d.field40.name = fName.text;
|
|
||||||
d.field40.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 41 {
|
|
||||||
d.field41.name = fName.text;
|
|
||||||
d.field41.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 42 {
|
|
||||||
d.field42.name = fName.text;
|
|
||||||
d.field42.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 43 {
|
|
||||||
d.field43.name = fName.text;
|
|
||||||
d.field43.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 44 {
|
|
||||||
d.field44.name = fName.text;
|
|
||||||
d.field44.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 45 {
|
|
||||||
d.field45.name = fName.text;
|
|
||||||
d.field45.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 46 {
|
|
||||||
d.field46.name = fName.text;
|
|
||||||
d.field46.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 47 {
|
|
||||||
d.field47.name = fName.text;
|
|
||||||
d.field47.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 48 {
|
|
||||||
d.field48.name = fName.text;
|
|
||||||
d.field48.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 49 {
|
|
||||||
d.field49.name = fName.text;
|
|
||||||
d.field49.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 50 {
|
|
||||||
d.field50.name = fName.text;
|
|
||||||
d.field50.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 51 {
|
|
||||||
d.field51.name = fName.text;
|
|
||||||
d.field51.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 52 {
|
|
||||||
d.field52.name = fName.text;
|
|
||||||
d.field52.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 53 {
|
|
||||||
d.field53.name = fName.text;
|
|
||||||
d.field53.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 54 {
|
|
||||||
d.field54.name = fName.text;
|
|
||||||
d.field54.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 55 {
|
|
||||||
d.field55.name = fName.text;
|
|
||||||
d.field55.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 56 {
|
|
||||||
d.field56.name = fName.text;
|
|
||||||
d.field56.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 57 {
|
|
||||||
d.field57.name = fName.text;
|
|
||||||
d.field57.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 58 {
|
|
||||||
d.field58.name = fName.text;
|
|
||||||
d.field58.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 59 {
|
|
||||||
d.field59.name = fName.text;
|
|
||||||
d.field59.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 60 {
|
|
||||||
d.field60.name = fName.text;
|
|
||||||
d.field60.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 61 {
|
|
||||||
d.field61.name = fName.text;
|
|
||||||
d.field61.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 62 {
|
|
||||||
d.field62.name = fName.text;
|
|
||||||
d.field62.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 63 {
|
|
||||||
d.field63.name = fName.text;
|
|
||||||
d.field63.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 64 {
|
|
||||||
d.field64.name = fName.text;
|
|
||||||
d.field64.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 65 {
|
|
||||||
d.field65.name = fName.text;
|
|
||||||
d.field65.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 66 {
|
|
||||||
d.field66.name = fName.text;
|
|
||||||
d.field66.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 67 {
|
|
||||||
d.field67.name = fName.text;
|
|
||||||
d.field67.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 68 {
|
|
||||||
d.field68.name = fName.text;
|
|
||||||
d.field68.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 69 {
|
|
||||||
d.field69.name = fName.text;
|
|
||||||
d.field69.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 70 {
|
|
||||||
d.field70.name = fName.text;
|
|
||||||
d.field70.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 71 {
|
|
||||||
d.field71.name = fName.text;
|
|
||||||
d.field71.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 72 {
|
|
||||||
d.field72.name = fName.text;
|
|
||||||
d.field72.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 73 {
|
|
||||||
d.field73.name = fName.text;
|
|
||||||
d.field73.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 74 {
|
|
||||||
d.field74.name = fName.text;
|
|
||||||
d.field74.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 75 {
|
|
||||||
d.field75.name = fName.text;
|
|
||||||
d.field75.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 76 {
|
|
||||||
d.field76.name = fName.text;
|
|
||||||
d.field76.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 77 {
|
|
||||||
d.field77.name = fName.text;
|
|
||||||
d.field77.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 78 {
|
|
||||||
d.field78.name = fName.text;
|
|
||||||
d.field78.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 79 {
|
|
||||||
d.field79.name = fName.text;
|
|
||||||
d.field79.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 80 {
|
|
||||||
d.field80.name = fName.text;
|
|
||||||
d.field80.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 81 {
|
|
||||||
d.field81.name = fName.text;
|
|
||||||
d.field81.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 82 {
|
|
||||||
d.field82.name = fName.text;
|
|
||||||
d.field82.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 83 {
|
|
||||||
d.field83.name = fName.text;
|
|
||||||
d.field83.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 84 {
|
|
||||||
d.field84.name = fName.text;
|
|
||||||
d.field84.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 85 {
|
|
||||||
d.field85.name = fName.text;
|
|
||||||
d.field85.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 86 {
|
|
||||||
d.field86.name = fName.text;
|
|
||||||
d.field86.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 87 {
|
|
||||||
d.field87.name = fName.text;
|
|
||||||
d.field87.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 88 {
|
|
||||||
d.field88.name = fName.text;
|
|
||||||
d.field88.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 89 {
|
|
||||||
d.field89.name = fName.text;
|
|
||||||
d.field89.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 90 {
|
|
||||||
d.field90.name = fName.text;
|
|
||||||
d.field90.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 91 {
|
|
||||||
d.field91.name = fName.text;
|
|
||||||
d.field91.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 92 {
|
|
||||||
d.field92.name = fName.text;
|
|
||||||
d.field92.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 93 {
|
|
||||||
d.field93.name = fName.text;
|
|
||||||
d.field93.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 94 {
|
|
||||||
d.field94.name = fName.text;
|
|
||||||
d.field94.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 95 {
|
|
||||||
d.field95.name = fName.text;
|
|
||||||
d.field95.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 96 {
|
|
||||||
d.field96.name = fName.text;
|
|
||||||
d.field96.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 97 {
|
|
||||||
d.field97.name = fName.text;
|
|
||||||
d.field97.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 98 {
|
|
||||||
d.field98.name = fName.text;
|
|
||||||
d.field98.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 99 {
|
|
||||||
d.field99.name = fName.text;
|
|
||||||
d.field99.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 100 {
|
|
||||||
d.field100.name = fName.text;
|
|
||||||
d.field100.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 101 {
|
|
||||||
d.field101.name = fName.text;
|
|
||||||
d.field101.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 102 {
|
|
||||||
d.field102.name = fName.text;
|
|
||||||
d.field102.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 103 {
|
|
||||||
d.field103.name = fName.text;
|
|
||||||
d.field103.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 104 {
|
|
||||||
d.field104.name = fName.text;
|
|
||||||
d.field104.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 105 {
|
|
||||||
d.field105.name = fName.text;
|
|
||||||
d.field105.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 106 {
|
|
||||||
d.field106.name = fName.text;
|
|
||||||
d.field106.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 107 {
|
|
||||||
d.field107.name = fName.text;
|
|
||||||
d.field107.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 108 {
|
|
||||||
d.field108.name = fName.text;
|
|
||||||
d.field108.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 109 {
|
|
||||||
d.field109.name = fName.text;
|
|
||||||
d.field109.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 110 {
|
|
||||||
d.field110.name = fName.text;
|
|
||||||
d.field110.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 111 {
|
|
||||||
d.field111.name = fName.text;
|
|
||||||
d.field111.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 112 {
|
|
||||||
d.field112.name = fName.text;
|
|
||||||
d.field112.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 113 {
|
|
||||||
d.field113.name = fName.text;
|
|
||||||
d.field113.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 114 {
|
|
||||||
d.field114.name = fName.text;
|
|
||||||
d.field114.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 115 {
|
|
||||||
d.field115.name = fName.text;
|
|
||||||
d.field115.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 116 {
|
|
||||||
d.field116.name = fName.text;
|
|
||||||
d.field116.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 117 {
|
|
||||||
d.field117.name = fName.text;
|
|
||||||
d.field117.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 118 {
|
|
||||||
d.field118.name = fName.text;
|
|
||||||
d.field118.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 119 {
|
|
||||||
d.field119.name = fName.text;
|
|
||||||
d.field119.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 120 {
|
|
||||||
d.field120.name = fName.text;
|
|
||||||
d.field120.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 121 {
|
|
||||||
d.field121.name = fName.text;
|
|
||||||
d.field121.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 122 {
|
|
||||||
d.field122.name = fName.text;
|
|
||||||
d.field122.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 123 {
|
|
||||||
d.field123.name = fName.text;
|
|
||||||
d.field123.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 124 {
|
|
||||||
d.field124.name = fName.text;
|
|
||||||
d.field124.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 125 {
|
|
||||||
d.field125.name = fName.text;
|
|
||||||
d.field125.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 126 {
|
|
||||||
d.field126.name = fName.text;
|
|
||||||
d.field126.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 127 {
|
|
||||||
d.field127.name = fName.text;
|
|
||||||
d.field127.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 128 {
|
|
||||||
d.field128.name = fName.text;
|
|
||||||
d.field128.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 129 {
|
|
||||||
d.field129.name = fName.text;
|
|
||||||
d.field129.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 130 {
|
|
||||||
d.field130.name = fName.text;
|
|
||||||
d.field130.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 131 {
|
|
||||||
d.field131.name = fName.text;
|
|
||||||
d.field131.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 132 {
|
|
||||||
d.field132.name = fName.text;
|
|
||||||
d.field132.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 133 {
|
|
||||||
d.field133.name = fName.text;
|
|
||||||
d.field133.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 134 {
|
|
||||||
d.field134.name = fName.text;
|
|
||||||
d.field134.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 135 {
|
|
||||||
d.field135.name = fName.text;
|
|
||||||
d.field135.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 136 {
|
|
||||||
d.field136.name = fName.text;
|
|
||||||
d.field136.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 137 {
|
|
||||||
d.field137.name = fName.text;
|
|
||||||
d.field137.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 138 {
|
|
||||||
d.field138.name = fName.text;
|
|
||||||
d.field138.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 139 {
|
|
||||||
d.field139.name = fName.text;
|
|
||||||
d.field139.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 140 {
|
|
||||||
d.field140.name = fName.text;
|
|
||||||
d.field140.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 141 {
|
|
||||||
d.field141.name = fName.text;
|
|
||||||
d.field141.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 142 {
|
|
||||||
d.field142.name = fName.text;
|
|
||||||
d.field142.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 143 {
|
|
||||||
d.field143.name = fName.text;
|
|
||||||
d.field143.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 144 {
|
|
||||||
d.field144.name = fName.text;
|
|
||||||
d.field144.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 145 {
|
|
||||||
d.field145.name = fName.text;
|
|
||||||
d.field145.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 146 {
|
|
||||||
d.field146.name = fName.text;
|
|
||||||
d.field146.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 147 {
|
|
||||||
d.field147.name = fName.text;
|
|
||||||
d.field147.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 148 {
|
|
||||||
d.field148.name = fName.text;
|
|
||||||
d.field148.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 149 {
|
|
||||||
d.field149.name = fName.text;
|
|
||||||
d.field149.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 150 {
|
|
||||||
d.field150.name = fName.text;
|
|
||||||
d.field150.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 151 {
|
|
||||||
d.field151.name = fName.text;
|
|
||||||
d.field151.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 152 {
|
|
||||||
d.field152.name = fName.text;
|
|
||||||
d.field152.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 153 {
|
|
||||||
d.field153.name = fName.text;
|
|
||||||
d.field153.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 154 {
|
|
||||||
d.field154.name = fName.text;
|
|
||||||
d.field154.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 155 {
|
|
||||||
d.field155.name = fName.text;
|
|
||||||
d.field155.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 156 {
|
|
||||||
d.field156.name = fName.text;
|
|
||||||
d.field156.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 157 {
|
|
||||||
d.field157.name = fName.text;
|
|
||||||
d.field157.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 158 {
|
|
||||||
d.field158.name = fName.text;
|
|
||||||
d.field158.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 159 {
|
|
||||||
d.field159.name = fName.text;
|
|
||||||
d.field159.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 160 {
|
|
||||||
d.field160.name = fName.text;
|
|
||||||
d.field160.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 161 {
|
|
||||||
d.field161.name = fName.text;
|
|
||||||
d.field161.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 162 {
|
|
||||||
d.field162.name = fName.text;
|
|
||||||
d.field162.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 163 {
|
|
||||||
d.field163.name = fName.text;
|
|
||||||
d.field163.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 164 {
|
|
||||||
d.field164.name = fName.text;
|
|
||||||
d.field164.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 165 {
|
|
||||||
d.field165.name = fName.text;
|
|
||||||
d.field165.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 166 {
|
|
||||||
d.field166.name = fName.text;
|
|
||||||
d.field166.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 167 {
|
|
||||||
d.field167.name = fName.text;
|
|
||||||
d.field167.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 168 {
|
|
||||||
d.field168.name = fName.text;
|
|
||||||
d.field168.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 169 {
|
|
||||||
d.field169.name = fName.text;
|
|
||||||
d.field169.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 170 {
|
|
||||||
d.field170.name = fName.text;
|
|
||||||
d.field170.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 171 {
|
|
||||||
d.field171.name = fName.text;
|
|
||||||
d.field171.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 172 {
|
|
||||||
d.field172.name = fName.text;
|
|
||||||
d.field172.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 173 {
|
|
||||||
d.field173.name = fName.text;
|
|
||||||
d.field173.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 174 {
|
|
||||||
d.field174.name = fName.text;
|
|
||||||
d.field174.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 175 {
|
|
||||||
d.field175.name = fName.text;
|
|
||||||
d.field175.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 176 {
|
|
||||||
d.field176.name = fName.text;
|
|
||||||
d.field176.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 177 {
|
|
||||||
d.field177.name = fName.text;
|
|
||||||
d.field177.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 178 {
|
|
||||||
d.field178.name = fName.text;
|
|
||||||
d.field178.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 179 {
|
|
||||||
d.field179.name = fName.text;
|
|
||||||
d.field179.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 180 {
|
|
||||||
d.field180.name = fName.text;
|
|
||||||
d.field180.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 181 {
|
|
||||||
d.field181.name = fName.text;
|
|
||||||
d.field181.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 182 {
|
|
||||||
d.field182.name = fName.text;
|
|
||||||
d.field182.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 183 {
|
|
||||||
d.field183.name = fName.text;
|
|
||||||
d.field183.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 184 {
|
|
||||||
d.field184.name = fName.text;
|
|
||||||
d.field184.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 185 {
|
|
||||||
d.field185.name = fName.text;
|
|
||||||
d.field185.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 186 {
|
|
||||||
d.field186.name = fName.text;
|
|
||||||
d.field186.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 187 {
|
|
||||||
d.field187.name = fName.text;
|
|
||||||
d.field187.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 188 {
|
|
||||||
d.field188.name = fName.text;
|
|
||||||
d.field188.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 189 {
|
|
||||||
d.field189.name = fName.text;
|
|
||||||
d.field189.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 190 {
|
|
||||||
d.field190.name = fName.text;
|
|
||||||
d.field190.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 191 {
|
|
||||||
d.field191.name = fName.text;
|
|
||||||
d.field191.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 192 {
|
|
||||||
d.field192.name = fName.text;
|
|
||||||
d.field192.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 193 {
|
|
||||||
d.field193.name = fName.text;
|
|
||||||
d.field193.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 194 {
|
|
||||||
d.field194.name = fName.text;
|
|
||||||
d.field194.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 195 {
|
|
||||||
d.field195.name = fName.text;
|
|
||||||
d.field195.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 196 {
|
|
||||||
d.field196.name = fName.text;
|
|
||||||
d.field196.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 197 {
|
|
||||||
d.field197.name = fName.text;
|
|
||||||
d.field197.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 198 {
|
|
||||||
d.field198.name = fName.text;
|
|
||||||
d.field198.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 199 {
|
|
||||||
d.field199.name = fName.text;
|
|
||||||
d.field199.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 200 {
|
|
||||||
d.field200.name = fName.text;
|
|
||||||
d.field200.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 201 {
|
|
||||||
d.field201.name = fName.text;
|
|
||||||
d.field201.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 202 {
|
|
||||||
d.field202.name = fName.text;
|
|
||||||
d.field202.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 203 {
|
|
||||||
d.field203.name = fName.text;
|
|
||||||
d.field203.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 204 {
|
|
||||||
d.field204.name = fName.text;
|
|
||||||
d.field204.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 205 {
|
|
||||||
d.field205.name = fName.text;
|
|
||||||
d.field205.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 206 {
|
|
||||||
d.field206.name = fName.text;
|
|
||||||
d.field206.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 207 {
|
|
||||||
d.field207.name = fName.text;
|
|
||||||
d.field207.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 208 {
|
|
||||||
d.field208.name = fName.text;
|
|
||||||
d.field208.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 209 {
|
|
||||||
d.field209.name = fName.text;
|
|
||||||
d.field209.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 210 {
|
|
||||||
d.field210.name = fName.text;
|
|
||||||
d.field210.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 211 {
|
|
||||||
d.field211.name = fName.text;
|
|
||||||
d.field211.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 212 {
|
|
||||||
d.field212.name = fName.text;
|
|
||||||
d.field212.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 213 {
|
|
||||||
d.field213.name = fName.text;
|
|
||||||
d.field213.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 214 {
|
|
||||||
d.field214.name = fName.text;
|
|
||||||
d.field214.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 215 {
|
|
||||||
d.field215.name = fName.text;
|
|
||||||
d.field215.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 216 {
|
|
||||||
d.field216.name = fName.text;
|
|
||||||
d.field216.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 217 {
|
|
||||||
d.field217.name = fName.text;
|
|
||||||
d.field217.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 218 {
|
|
||||||
d.field218.name = fName.text;
|
|
||||||
d.field218.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 219 {
|
|
||||||
d.field219.name = fName.text;
|
|
||||||
d.field219.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 220 {
|
|
||||||
d.field220.name = fName.text;
|
|
||||||
d.field220.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 221 {
|
|
||||||
d.field221.name = fName.text;
|
|
||||||
d.field221.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 222 {
|
|
||||||
d.field222.name = fName.text;
|
|
||||||
d.field222.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 223 {
|
|
||||||
d.field223.name = fName.text;
|
|
||||||
d.field223.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 224 {
|
|
||||||
d.field224.name = fName.text;
|
|
||||||
d.field224.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 225 {
|
|
||||||
d.field225.name = fName.text;
|
|
||||||
d.field225.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 226 {
|
|
||||||
d.field226.name = fName.text;
|
|
||||||
d.field226.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 227 {
|
|
||||||
d.field227.name = fName.text;
|
|
||||||
d.field227.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 228 {
|
|
||||||
d.field228.name = fName.text;
|
|
||||||
d.field228.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 229 {
|
|
||||||
d.field229.name = fName.text;
|
|
||||||
d.field229.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 230 {
|
|
||||||
d.field230.name = fName.text;
|
|
||||||
d.field230.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 231 {
|
|
||||||
d.field231.name = fName.text;
|
|
||||||
d.field231.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 232 {
|
|
||||||
d.field232.name = fName.text;
|
|
||||||
d.field232.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 233 {
|
|
||||||
d.field233.name = fName.text;
|
|
||||||
d.field233.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 234 {
|
|
||||||
d.field234.name = fName.text;
|
|
||||||
d.field234.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 235 {
|
|
||||||
d.field235.name = fName.text;
|
|
||||||
d.field235.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 236 {
|
|
||||||
d.field236.name = fName.text;
|
|
||||||
d.field236.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 237 {
|
|
||||||
d.field237.name = fName.text;
|
|
||||||
d.field237.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 238 {
|
|
||||||
d.field238.name = fName.text;
|
|
||||||
d.field238.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 239 {
|
|
||||||
d.field239.name = fName.text;
|
|
||||||
d.field239.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 240 {
|
|
||||||
d.field240.name = fName.text;
|
|
||||||
d.field240.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 241 {
|
|
||||||
d.field241.name = fName.text;
|
|
||||||
d.field241.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 242 {
|
|
||||||
d.field242.name = fName.text;
|
|
||||||
d.field242.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 243 {
|
|
||||||
d.field243.name = fName.text;
|
|
||||||
d.field243.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 244 {
|
|
||||||
d.field244.name = fName.text;
|
|
||||||
d.field244.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 245 {
|
|
||||||
d.field245.name = fName.text;
|
|
||||||
d.field245.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 246 {
|
|
||||||
d.field246.name = fName.text;
|
|
||||||
d.field246.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 247 {
|
|
||||||
d.field247.name = fName.text;
|
|
||||||
d.field247.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 248 {
|
|
||||||
d.field248.name = fName.text;
|
|
||||||
d.field248.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 249 {
|
|
||||||
d.field249.name = fName.text;
|
|
||||||
d.field249.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 250 {
|
|
||||||
d.field250.name = fName.text;
|
|
||||||
d.field250.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 251 {
|
|
||||||
d.field251.name = fName.text;
|
|
||||||
d.field251.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 252 {
|
|
||||||
d.field252.name = fName.text;
|
|
||||||
d.field252.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 253 {
|
|
||||||
d.field253.name = fName.text;
|
|
||||||
d.field253.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 254 {
|
|
||||||
d.field254.name = fName.text;
|
|
||||||
d.field254.refFieldType = fType;
|
|
||||||
} else if d.fieldCount == 255 {
|
|
||||||
d.field255.name = fName.text;
|
|
||||||
d.field255.refFieldType = fType;
|
|
||||||
}
|
|
||||||
d.fieldCount = d.fieldCount + 1;
|
|
||||||
}
|
}
|
||||||
|
d.fieldCount = fieldCount;
|
||||||
|
PrintLine(String_Concat("DEBUG parser endStruct fieldCount=", bux_int_to_str(fieldCount as int64)));
|
||||||
discard parserExpect(p, tkRBrace, "expected '}'");
|
discard parserExpect(p, tkRBrace, "expected '}'");
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -571,6 +571,7 @@ func Sema_CheckStmt(sema: *Sema, stmt: *Stmt) {
|
|||||||
loopSym.name = stmt.strValue;
|
loopSym.name = stmt.strValue;
|
||||||
loopSym.typeKind = tyUnknown;
|
loopSym.typeKind = tyUnknown;
|
||||||
loopSym.typeName = "";
|
loopSym.typeName = "";
|
||||||
|
loopSym.refType = null as *TypeExpr;
|
||||||
loopSym.isMutable = true;
|
loopSym.isMutable = true;
|
||||||
loopSym.isPublic = false;
|
loopSym.isPublic = false;
|
||||||
loopSym.decl = null as *Decl;
|
loopSym.decl = null as *Decl;
|
||||||
@@ -678,6 +679,7 @@ func Sema_CollectGlobals(sema: *Sema) {
|
|||||||
vSym.name = variantName2;
|
vSym.name = variantName2;
|
||||||
vSym.typeKind = tyNamed;
|
vSym.typeKind = tyNamed;
|
||||||
vSym.typeName = String_Concat(decl.strValue, "_Tag");
|
vSym.typeName = String_Concat(decl.strValue, "_Tag");
|
||||||
|
vSym.refType = null as *TypeExpr;
|
||||||
vSym.isMutable = false;
|
vSym.isMutable = false;
|
||||||
vSym.isPublic = decl.isPublic;
|
vSym.isPublic = decl.isPublic;
|
||||||
vSym.decl = decl;
|
vSym.decl = decl;
|
||||||
@@ -734,6 +736,7 @@ func Sema_CollectGlobals(sema: *Sema) {
|
|||||||
sym.name = name;
|
sym.name = name;
|
||||||
sym.typeKind = tyUnknown;
|
sym.typeKind = tyUnknown;
|
||||||
sym.typeName = "";
|
sym.typeName = "";
|
||||||
|
sym.refType = null as *TypeExpr;
|
||||||
sym.isMutable = false;
|
sym.isMutable = false;
|
||||||
sym.isPublic = true;
|
sym.isPublic = true;
|
||||||
sym.decl = null as *Decl;
|
sym.decl = null as *Decl;
|
||||||
@@ -772,6 +775,7 @@ func Sema_CollectGlobals(sema: *Sema) {
|
|||||||
sym.name = lastSeg;
|
sym.name = lastSeg;
|
||||||
sym.typeKind = tyUnknown;
|
sym.typeKind = tyUnknown;
|
||||||
sym.typeName = "";
|
sym.typeName = "";
|
||||||
|
sym.refType = null as *TypeExpr;
|
||||||
sym.isMutable = false;
|
sym.isMutable = false;
|
||||||
sym.isPublic = true;
|
sym.isPublic = true;
|
||||||
sym.decl = null as *Decl;
|
sym.decl = null as *Decl;
|
||||||
|
|||||||
Reference in New Issue
Block a user