Exemplo n.º 1
0
int Swig_VargetToFunction(Node *n, int flags) {
    String *cres, *call;
    String *name;
    SwigType *type;
    SwigType *ty = 0;

    int varcref = flags & CWRAP_NATURAL_VAR;

    name = Getattr(n, "name");
    type = Getattr(n, "type");
    ty = Swig_wrapped_var_type(type, varcref);

    if (flags & CWRAP_EXTEND) {
        String *sname = Swig_name_get(name);
        String *mangled = Swig_name_mangle(sname);
        call = Swig_cfunction_call(mangled, 0);
        cres = Swig_cresult(ty, "result", call);
        Setattr(n, "wrap:action", cres);
        Delete(mangled);
        Delete(sname);
    } else {
        String *nname = SwigType_namestr(name);
        call = Swig_wrapped_var_assign(type, nname, varcref);
        cres = Swig_cresult(ty, "result", call);
        Setattr(n, "wrap:action", cres);
        Delete(nname);
    }

    Setattr(n, "type", ty);
    Delattr(n, "parms");
    Delete(cres);
    Delete(call);
    Delete(ty);
    return SWIG_OK;
}
Exemplo n.º 2
0
String *
Swig_cmemberget_call(String_or_char *name, SwigType *t, String_or_char *self) {
  String *func;
  if (!self) self = NewString("(this)->");
  else self = NewString(self);
  Replaceall(self,"this",Swig_cparm_name(0,0));
  func = NewString("");
  Printf(func,"%s (%s%s)", Swig_wrapped_var_assign(t,""),self, name);
  Delete(self);
  return func;
}
String *Swig_cmemberget_call(const String_or_char *name, SwigType *t, String_or_char *self, int varcref) {
  String *func;
  String *call;
  String *pname0 = Swig_cparm_name(0, 0);
  if (!self)
    self = NewString("(this)->");
  else
    self = NewString(self);
  Replaceall(self, "this", pname0);
  func = NewStringEmpty();
  call = Swig_wrapped_var_assign(t, "", varcref);
  Printf(func, "%s (%s%s)", call, self, name);
  Delete(self);
  Delete(call);
  Delete(pname0);
  return func;
}
Exemplo n.º 4
0
int
Swig_VargetToFunction(Node *n) {
  String   *name, *nname;
  SwigType *type, *ty;

  name = Getattr(n,"name");
  type = Getattr(n,"type");

  nname = SwigType_namestr(name);
  ty = Swig_wrapped_var_type(type);

  Setattr(n,"wrap:action", Swig_cresult(ty,"result",Swig_wrapped_var_assign(type,nname)));
  Setattr(n,"type",ty);
  Delattr(n,"parms");
  Delete(nname);
  Delete(ty);
  return SWIG_OK;
}
int Swig_VargetToFunction(Node *n, int flags) {
  String *cres, *call;
  String *name, *nname;
  SwigType *type, *ty;

  int varcref = flags & CWRAP_NATURAL_VAR;

  name = Getattr(n, k_name);
  type = Getattr(n, k_type);

  nname = SwigType_namestr(name);
  ty = Swig_wrapped_var_type(type, varcref);
  call = Swig_wrapped_var_assign(type, nname, varcref);
  cres = Swig_cresult(ty, k_result, call);
  Setattr(n, k_wrapaction, cres);
  Delete(cres);
  Delete(call);
  Setattr(n, k_type, ty);
  Delattr(n, k_parms);
  Delete(nname);
  Delete(ty);
  return SWIG_OK;
}