ddmd.dinterpret

Undocumented in source.

Members

Aliases

ctfeNeedLvalue
alias ctfeNeedLvalue = CtfeGoal.ctfeNeedLvalue
Undocumented in source.
ctfeNeedNothing
alias ctfeNeedNothing = CtfeGoal.ctfeNeedNothing
Undocumented in source.
ctfeNeedRvalue
alias ctfeNeedRvalue = CtfeGoal.ctfeNeedRvalue
Undocumented in source.

Classes

CtfeCompiler
class CtfeCompiler
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
Interpreter
class Interpreter
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.

Enums

CtfeGoal
enum CtfeGoal
Undocumented in source.

Functions

ctfeCompile
void ctfeCompile(FuncDeclaration fd)

Compile this function for CTFE. At present, this merely allocates variables.

ctfeInterpret
Expression ctfeInterpret(Expression e)

Entry point for CTFE. A compile-time result is required. Give an error if not possible.

ctfeInterpretForPragmaMsg
Expression ctfeInterpretForPragmaMsg(Expression e)
Undocumented in source. Be warned that the author may not have intended to support it.
evaluateDtor
Expression evaluateDtor(InterState* istate, Expression e)
Undocumented in source. Be warned that the author may not have intended to support it.
evaluateIfBuiltin
Expression evaluateIfBuiltin(InterState* istate, Loc loc, FuncDeclaration fd, Expressions* arguments, Expression pthis)
Undocumented in source. Be warned that the author may not have intended to support it.
evaluatePostblit
Expression evaluatePostblit(InterState* istate, Expression e)
Undocumented in source. Be warned that the author may not have intended to support it.
foreachApplyUtf
Expression foreachApplyUtf(InterState* istate, Expression str, Expression deleg, bool rvs)
Undocumented in source. Be warned that the author may not have intended to support it.
getValue
Expression getValue(VarDeclaration vd)
Undocumented in source. Be warned that the author may not have intended to support it.
hasValue
bool hasValue(VarDeclaration vd)

CTFE Sanity Checks **************************

interpret
Expression interpret(FuncDeclaration fd, InterState* istate, Expressions* arguments, Expression thisarg)

Attempt to interpret a function given the arguments. Input: istate state for calling function (NULL if none) arguments function arguments thisarg 'this', if a needThis() function, NULL if not.

interpret
Expression interpret(Expression e, InterState* istate, CtfeGoal goal)
Undocumented in source. Be warned that the author may not have intended to support it.
interpret
Expression interpret(Statement s, InterState* istate)

Interpret the statement.

interpret_aaApply
Expression interpret_aaApply(InterState* istate, Expression aa, Expression deleg)
Undocumented in source. Be warned that the author may not have intended to support it.
interpret_dup
Expression interpret_dup(InterState* istate, Expression earg)
Undocumented in source. Be warned that the author may not have intended to support it.
interpret_keys
Expression interpret_keys(InterState* istate, Expression earg, Type returnType)
Undocumented in source. Be warned that the author may not have intended to support it.
interpret_length
Expression interpret_length(InterState* istate, Expression earg)

Special Functions **************************

interpret_values
Expression interpret_values(InterState* istate, Expression earg, Type returnType)
Undocumented in source. Be warned that the author may not have intended to support it.
isEntirelyVoid
bool isEntirelyVoid(Expressions* elems)
Undocumented in source. Be warned that the author may not have intended to support it.
printCtfePerformanceStats
void printCtfePerformanceStats()
Undocumented in source. Be warned that the author may not have intended to support it.
returnedArrayType
Type returnedArrayType(FuncDeclaration fd)
Undocumented in source. Be warned that the author may not have intended to support it.
scrubArray
Expression scrubArray(Loc loc, Expressions* elems, bool structlit)
Undocumented in source. Be warned that the author may not have intended to support it.
scrubArrayCache
Expression scrubArrayCache(Loc loc, Expressions* elems)
Undocumented in source. Be warned that the author may not have intended to support it.
scrubCacheValue
Expression scrubCacheValue(Loc loc, Expression e)
Undocumented in source. Be warned that the author may not have intended to support it.
scrubReturnValue
Expression scrubReturnValue(Loc loc, Expression e)
Undocumented in source. Be warned that the author may not have intended to support it.
setValue
void setValue(VarDeclaration vd, Expression newval)
Undocumented in source. Be warned that the author may not have intended to support it.
setValueNull
void setValueNull(VarDeclaration vd)
Undocumented in source. Be warned that the author may not have intended to support it.
setValueWithoutChecking
void setValueWithoutChecking(VarDeclaration vd, Expression newval)
Undocumented in source. Be warned that the author may not have intended to support it.

Manifest constants

CTFE_RECURSION_LIMIT
enum CTFE_RECURSION_LIMIT;
Undocumented in source.

Static variables

ctfeStack
CtfeStack ctfeStack;
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.

Structs

CompiledCtfeFunction
struct CompiledCtfeFunction

CTFE-object code for a single function

CtfeStack
struct CtfeStack

The values of all CTFE variables

InterState
struct InterState
Undocumented in source.

Meta