Sourcectfeexpr.d
Documentationhttps://dlang.org/phobos/dmd_ctfeexpr.html
UnionExp;findFieldIndexByName(const StructDeclarationsd, const VarDeclarationv);needToCopyLiteral(const Expressionexpr);resolveSlice(Expressione, UnionExp*pue = null);Expressione | expression to resolve |
UnionExp*pue | if not null, store resulting expression here |
createBlockDuplicatedArrayLiteral(UnionExp*pue, Locloc, Typetype, Expressionelem, size_tdim);UnionExp*pue | where to store result |
Locloc | source location where the interpretation occurs |
Typetype | target type of the result |
Expressionelem | the source of array element, it will be owned by the result |
size_tdim | element number of the result |
createBlockDuplicatedStringLiteral(UnionExp*pue, Locloc, Typetype, dcharvalue, size_tdim, ubytesz);isTypeInfo_Class(const Typetype);isPointer(Typet);pointToSameMemoryBlock(Expressionagg1, Expressionagg2);isCtfeComparable(Expressione);specificCmp(EXPop, intrawCmp);intUnsignedCmp(EXPop, dinteger_tn1, dinteger_tn2);intSignedCmp(EXPop, sinteger_tn1, sinteger_tn2);realCmp(EXPop, real_tr1, real_tr2);ctfeEqual(Locloc, EXPop, Expressione1, Expressione2);ctfeIdentity(Locloc, EXPop, Expressione1, Expressione2);ctfeCmp(Locloc, EXPop, Expressione1, Expressione2);assignInPlace(Expressiondest, Expressionsrc);changeArrayLiteralLength(UnionExp*pue, Locloc, TypeArrayarrayType, Expressionoldval, size_toldlen, size_tnewlen);isCtfeValueValid(Expressionnewval);voidInitLiteral(Typet, VarDeclarationvar);