本文整理汇总了C++中OutBuffer::printf方法的典型用法代码示例。如果您正苦于以下问题:C++ OutBuffer::printf方法的具体用法?C++ OutBuffer::printf怎么用?C++ OutBuffer::printf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OutBuffer
的用法示例。
在下文中一共展示了OutBuffer::printf方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void Scope::deprecation10378(Loc loc, Dsymbol *sold, Dsymbol *snew)
{
// Bugzilla 15857
//
// The overloadset found via the new lookup rules is either
// equal or a subset of the overloadset found via the old
// lookup rules, so it suffices to compare the dimension to
// check for equality.
OverloadSet *osold = NULL;
OverloadSet *osnew = NULL;
if (sold && (osold = sold->isOverloadSet()) != NULL &&
snew && (osnew = snew->isOverloadSet()) != NULL &&
osold->a.dim == osnew->a.dim)
return;
OutBuffer buf;
buf.writestring("local import search method found ");
if (osold)
buf.printf("%s %s (%d overloads)", sold->kind(), sold->toPrettyChars(), (int)osold->a.dim);
else if (sold)
buf.printf("%s %s", sold->kind(), sold->toPrettyChars());
else
buf.writestring("nothing");
buf.writestring(" instead of ");
if (osnew)
buf.printf("%s %s (%d overloads)", snew->kind(), snew->toPrettyChars(), (int)osnew->a.dim);
else if (snew)
buf.printf("%s %s", snew->kind(), snew->toPrettyChars());
else
buf.writestring("nothing");
deprecation(loc, "%s", buf.peekString());
}
示例2: return
char *Loc::toChars()
{
OutBuffer buf;
if (filename)
{
buf.printf("%s", filename);
}
if (linnum)
buf.printf("(%d)", linnum);
buf.writeByte(0);
return (char *)buf.extractData();
}
示例3: visit
void visit(TemplateInstance *ti)
{
OutBuffer buf;
#if 0
printf("TemplateInstance::mangle() %p %s", ti, ti->toChars());
if (ti->parent)
printf(" parent = %s %s", ti->parent->kind(), ti->parent->toChars());
printf("\n");
#endif
ti->getIdent();
const char *id = ti->ident ? ti->ident->toChars() : ti->toChars();
if (!ti->tempdecl)
ti->error("is not defined");
else
{
Dsymbol *par = ti->isTemplateMixin() ? ti->parent : ti->tempdecl->parent;
if (par)
{
FuncDeclaration *f = par->isFuncDeclaration();
if (f)
mangleExact(f);
else
par->accept(this);
if (result[0] == '_' && result[1] == 'D')
result += 2;
buf.writestring(result);
}
}
buf.printf("%llu%s", (ulonglong)strlen(id), id);
id = buf.extractString();
//printf("TemplateInstance::mangle() %s = %s\n", ti->toChars(), ti->id);
result = id;
}
示例4: printf
char *TemplateInstance::mangle()
{
OutBuffer buf;
#if 0
printf("TemplateInstance::mangle() %p %s", this, toChars());
if (parent)
printf(" parent = %s %s", parent->kind(), parent->toChars());
printf("\n");
#endif
char *id = ident ? ident->toChars() : toChars();
if (!tempdecl)
error("is not defined");
else
{
Dsymbol *par = isnested || isTemplateMixin() ? parent : tempdecl->parent;
if (par)
{
char *p = par->mangle();
if (p[0] == '_' && p[1] == 'D')
p += 2;
buf.writestring(p);
}
}
buf.printf("%zu%s", strlen(id), id);
id = buf.toChars();
buf.data = NULL;
//printf("TemplateInstance::mangle() %s = %s\n", toChars(), id);
return id;
}
示例5: printf
char *TemplateInstance::mangle()
{
OutBuffer buf;
char *id;
#if 0
printf("TemplateInstance::mangle() %s", toChars());
if (parent)
printf(" parent = %s %s", parent->kind(), parent->toChars());
printf("\n");
#endif
id = ident ? ident->toChars() : toChars();
if (tempdecl->parent)
{
char *p = tempdecl->parent->mangle();
if (p[0] == '_' && p[1] == 'D')
p += 2;
buf.writestring(p);
}
buf.printf(ZU "%s", strlen(id), id);
id = buf.toChars();
buf.data = NULL;
//printf("TemplateInstance::mangle() %s = %s\n", toChars(), id);
return id;
}
示例6: visit
void visit(TypeSArray *t)
{
if (substitute(t))
return;
buf.printf("A%llu_", t->dim ? t->dim->toInteger() : 0);
t->next->accept(this);
store(t);
}
示例7: printDepsConditional
// Helper for printing dependency information
void printDepsConditional(Scope *sc, DVCondition* condition, const char* depType)
{
if (!global.params.moduleDeps || global.params.moduleDepsFile)
return;
OutBuffer *ob = global.params.moduleDeps;
Module* imod = sc ? (sc->instantiatingModule ? sc->instantiatingModule : sc->module) : condition->mod;
if (!imod)
return;
ob->writestring(depType);
ob->writestring(imod->toPrettyChars());
ob->writestring(" (");
escapePath(ob, imod->srcfile->toChars());
ob->writestring(") : ");
if (condition->ident)
ob->printf("%s\n", condition->ident->toChars());
else
ob->printf("%d\n", condition->level);
}
示例8:
char *Loc::toChars()
{
OutBuffer buf;
if (filename)
{
buf.printf("%s", filename);
}
if (linnum)
{
buf.printf("(%d", linnum);
if (global.params.showColumns && charnum)
buf.printf(",%d", charnum);
buf.writeByte(')');
}
return buf.extractString();
}
示例9: idPool
Identifier *Identifier::generateId(const char *prefix, size_t i)
{ OutBuffer buf;
buf.writestring(prefix);
buf.printf("%llu", (ulonglong)i);
char *id = buf.peekString();
return idPool(id);
}
示例10: idPool
Identifier *Identifier::generateId(const char *prefix, size_t i)
{ OutBuffer buf;
buf.writestring(prefix);
buf.printf("%llu", (ulonglong)i);
char *id = buf.toChars();
buf.data = NULL;
return Lexer::idPool(id);
}
示例11: Parameters
Type *TupleDeclaration::getType()
{
/* If this tuple represents a type, return that type
*/
//printf("TupleDeclaration::getType() %s\n", toChars());
if (isexp)
return NULL;
if (!tupletype)
{
/* It's only a type tuple if all the Object's are types
*/
for (size_t i = 0; i < objects->dim; i++)
{ Object *o = (Object *)objects->data[i];
if (o->dyncast() != DYNCAST_TYPE)
{
//printf("\tnot[%d], %p, %d\n", i, o, o->dyncast());
return NULL;
}
}
/* We know it's a type tuple, so build the TypeTuple
*/
Parameters *args = new Parameters();
args->setDim(objects->dim);
OutBuffer buf;
int hasdeco = 1;
for (size_t i = 0; i < objects->dim; i++)
{ Type *t = (Type *)objects->data[i];
//printf("type = %s\n", t->toChars());
#if 0
buf.printf("_%s_%d", ident->toChars(), i);
char *name = (char *)buf.extractData();
Identifier *id = new Identifier(name, TOKidentifier);
Parameter *arg = new Parameter(STCin, t, id, NULL);
#else
Parameter *arg = new Parameter(STCin, t, NULL, NULL);
#endif
args->data[i] = (void *)arg;
if (!t->deco)
hasdeco = 0;
}
tupletype = new TypeTuple(args);
if (hasdeco)
return tupletype->semantic(0, NULL);
}
return tupletype;
}
示例12: visit
void visit(TypeSArray *t)
{
if (!substitute(t))
store(t);
if (t->isImmutable() || t->isShared())
{
visit((Type *)t);
}
if (t->isConst())
buf.writeByte('K');
buf.printf("A%llu_", t->dim ? t->dim->toInteger() : 0);
t->next->accept(this);
}
示例13: stringPart
void JsonOut::stringPart(const char *s)
{
for (; *s; s++)
{
utf8_t c = (utf8_t) *s;
switch (c)
{
case '\n':
buf->writestring("\\n");
break;
case '\r':
buf->writestring("\\r");
break;
case '\t':
buf->writestring("\\t");
break;
case '\"':
buf->writestring("\\\"");
break;
case '\\':
buf->writestring("\\\\");
break;
case '\b':
buf->writestring("\\b");
break;
case '\f':
buf->writestring("\\f");
break;
default:
if (c < 0x20)
buf->printf("\\u%04x", c);
else
// Note that UTF-8 chars pass through here just fine
buf->writeByte(c);
break;
}
}
}
示例14: toChars
char *Dsymbol::mangle()
{
OutBuffer buf;
char *id;
//printf("Dsymbol::mangle() '%s'\n", toChars());
id = ident ? ident->toChars() : toChars();
if (parent)
{
//printf(" parent = '%s', kind = '%s'\n", parent->mangle(), parent->kind());
buf.writestring(parent->mangle());
}
buf.printf("%d%s", strlen(id), id);
//buf.writestring("_");
//buf.writestring(id);
id = buf.toChars();
buf.data = NULL;
return id;
}
示例15: visit
void visit(Dsymbol *s)
{
#if 0
printf("Dsymbol::mangle() '%s'", s->toChars());
if (s->parent)
printf(" parent = %s %s", s->parent->kind(), s->parent->toChars());
printf("\n");
#endif
OutBuffer buf;
mangleParent(&buf, s);
char *id = s->ident ? s->ident->toChars() : s->toChars();
buf.printf("%llu%s", (ulonglong)strlen(id), id);
id = buf.extractString();
//printf("Dsymbol::mangle() %s = %s\n", s->toChars(), id);
result = id;
}