reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
 3100   str += "namespace {\n";
 3101   str += "struct "; str += name;
 3101   str += "struct "; str += name;
 3102   str += " {\n\t";
 3103   str += name;
 3104   str += "(id receiver, SEL sel";
 3108     str += ", "; str += ArgName;
 3108     str += ", "; str += ArgName;
 3115     str += ", "; str += ArgName;
 3115     str += ", "; str += ArgName;
 3118   str += ") {\n";
 3119   str += "\t  unsigned size = sizeof(";
 3120   str += returnType.getAsString(Context->getPrintingPolicy()); str += ");\n";
 3120   str += returnType.getAsString(Context->getPrintingPolicy()); str += ");\n";
 3122   str += "\t  if (size == 1 || size == 2 || size == 4 || size == 8)\n";
 3124   str += "\t    s = (("; str += castType.getAsString(Context->getPrintingPolicy());
 3124   str += "\t    s = (("; str += castType.getAsString(Context->getPrintingPolicy());
 3125   str += ")(void *)objc_msgSend)(receiver, sel";
 3127     str += ", arg"; str += utostr(i);
 3127     str += ", arg"; str += utostr(i);
 3131     str += ", arg"; str += utostr(i);
 3131     str += ", arg"; str += utostr(i);
 3133   str+= ");\n";
 3135   str += "\t  else if (receiver == 0)\n";
 3136   str += "\t    memset((void*)&s, 0, sizeof(s));\n";
 3137   str += "\t  else\n";
 3139   str += "\t    s = (("; str += castType.getAsString(Context->getPrintingPolicy());
 3139   str += "\t    s = (("; str += castType.getAsString(Context->getPrintingPolicy());
 3140   str += ")(void *)objc_msgSend_stret)(receiver, sel";
 3142     str += ", arg"; str += utostr(i);
 3142     str += ", arg"; str += utostr(i);
 3146     str += ", arg"; str += utostr(i);
 3146     str += ", arg"; str += utostr(i);
 3148   str += ");\n";
 3150   str += "\t}\n";
 3151   str += "\t"; str += returnType.getAsString(Context->getPrintingPolicy());
 3151   str += "\t"; str += returnType.getAsString(Context->getPrintingPolicy());
 3152   str += " s;\n";
 3153   str += "};\n};\n\n";
 3162   InsertText(FunLocStart, str);