Mercurial > projects > ddmd
view dmd/StructLiteralExp.d @ 32:81796b717a39
A few bad cast fixed. TODO: either get rid of dyncast(), or derive all objects from intermediate supertype.
author | korDen |
---|---|
date | Tue, 18 May 2010 17:51:46 +0400 |
parents | 10317f0c89a5 |
children | 51605de93870 |
line wrap: on
line source
module dmd.StructLiteralExp; import dmd.Expression; import dmd.StructDeclaration; import dmd.backend.elem; import dmd.InterState; import dmd.MATCH; import dmd.Type; import dmd.OutBuffer; import dmd.Loc; import dmd.Scope; import dmd.InlineCostState; import dmd.IRState; import dmd.InlineDoState; import dmd.backend.Symbol; import dmd.HdrGenState; import dmd.backend.dt_t; import dmd.InlineScanState; import dmd.ArrayTypes; import dmd.TOK; class StructLiteralExp : Expression { StructDeclaration sd; // which aggregate this is for Expressions elements; // parallels sd->fields[] with // NULL entries for fields to skip Symbol* sym; // back end symbol to initialize with literal size_t soffset; // offset from start of s int fillHoles; // fill alignment 'holes' with zero this(Loc loc, StructDeclaration sd, Expressions elements) { assert(false); super(loc, TOK.init, 0); } Expression syntaxCopy() { assert(false); } Expression semantic(Scope sc) { assert(false); } Expression getField(Type type, uint offset) { assert(false); } int getFieldIndex(Type type, uint offset) { assert(false); } elem* toElem(IRState* irs) { assert(false); } bool checkSideEffect(int flag) { assert(false); } void toCBuffer(OutBuffer buf, HdrGenState* hgs) { assert(false); } void toMangleBuffer(OutBuffer buf) { assert(false); } void scanForNestedRef(Scope sc) { assert(false); } Expression optimize(int result) { assert(false); } Expression interpret(InterState* istate) { assert(false); } dt_t** toDt(dt_t** pdt) { assert(false); } int isLvalue() { assert(false); } Expression toLvalue(Scope sc, Expression e) { assert(false); } bool canThrow() { assert(false); } MATCH implicitConvTo(Type t) { assert(false); } int inlineCost(InlineCostState* ics) { assert(false); } Expression doInline(InlineDoState ids) { assert(false); } Expression inlineScan(InlineScanState* iss) { assert(false); } }