当前位置: 首页>>代码示例>>C++>>正文


C++ StringExp::toChars方法代码示例

本文整理汇总了C++中StringExp::toChars方法的典型用法代码示例。如果您正苦于以下问题:C++ StringExp::toChars方法的具体用法?C++ StringExp::toChars怎么用?C++ StringExp::toChars使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在StringExp的用法示例。


在下文中一共展示了StringExp::toChars方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: compileIt

void CompileDeclaration::compileIt(Scope *sc)
{
    //printf("CompileDeclaration::compileIt(loc = %d) %s\n", loc.linnum, exp->toChars());
    sc = sc->startCTFE();
    exp = exp->semantic(sc);
    exp = resolveProperties(sc, exp);
    sc = sc->endCTFE();
    exp = exp->ctfeInterpret();
    StringExp *se = exp->toString();
    if (!se)
    {
        exp->error("argument to mixin must be a string, not (%s)", exp->toChars());
    }
    else
    {
        se = se->toUTF8(sc);
        Parser p(loc, sc->module, (utf8_t *)se->string, se->len, 0);
        p.nextToken();
        unsigned errors = global.errors;
        decl = p.parseDeclDefs(0);
        if (p.token.value != TOKeof)
            exp->error("incomplete mixin declaration (%s)", se->toChars());
        if (global.errors != errors)
            decl = NULL;
    }
}
开发者ID:doniexun,项目名称:ldc,代码行数:26,代码来源:attrib.c

示例2: compileIt

void CompileDeclaration::compileIt(Scope *sc)
{
    //printf("CompileDeclaration::compileIt(loc = %d)\n", loc.linnum);
    exp = exp->semantic(sc);
    exp = resolveProperties(sc, exp);
    exp = exp->optimize(WANTvalue | WANTinterpret);
    if (exp->op != TOKstring)
    {   exp->error("argument to mixin must be a string, not (%s)", exp->toChars());
    }
    else
    {
        StringExp *se = (StringExp *)exp;
        se = se->toUTF8(sc);
        Parser p(sc->module, (unsigned char *)se->string, se->len, 0);
        p.loc = loc;
        p.nextToken();
        decl = p.parseDeclDefs(0);
        if (p.token.value != TOKeof)
            exp->error("incomplete mixin declaration (%s)", se->toChars());
    }
}
开发者ID:smunix,项目名称:ldc,代码行数:21,代码来源:attrib.c


注:本文中的StringExp::toChars方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。