Beispiel #1
0
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());
}
Beispiel #2
0
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);
  }
}