static void PrintConstant(const LuaProto* f, int i) { LuaValue v = f->constants[i]; if(v.isNil()) { printf("nil"); return; } if(v.isBool()) { printf(v.getBool() ? "true" : "false"); return; } if(v.isNumber()) { printf(LUA_NUMBER_FMT,v.getNumber()); return; } if(v.isString()) { PrintString(v.getString()); return; } printf("? type=%d",v.type()); }
static void DumpConstants(const LuaProto* f, DumpState* D) { int n = (int)f->constants.size(); DumpInt(n,D); for(int i=0; i < n; i++) { LuaValue v = f->constants[i]; DumpChar(v.type(),D); if(v.isBool()) { DumpChar(v.getBool() ? 1 : 0,D); } else if(v.isNumber()) { DumpNumber(v.getNumber(),D); } else if(v.isString()) { DumpString(v.getString(),D); } } n = (int)f->subprotos_.size(); DumpInt(n,D); for (int i=0; i < n; i++) { DumpFunction(f->subprotos_[i],D); } }