Mercurial > projects > ddmd
view dmd/FileInitExp.d @ 156:0c8cc2a10f99
+ ArrayInitializer.toAssocArrayLiteral()
+ FuncDeclaration.isUnique()
+ TypeEnum.alignsize()
+ TypeEnum.toChars()
+ TypeEnum.getProperty()
+ VarExp.equals()
+ expression.Util.fpunique()
* fixed missing default in TypeBasic
author | trass3r |
---|---|
date | Wed, 15 Sep 2010 18:24:39 +0200 |
parents | 60bb0fe4563e |
children | e3afd1303184 |
line wrap: on
line source
module dmd.FileInitExp; import dmd.common; import dmd.Expression; import dmd.Loc; import dmd.Scope; import dmd.DefaultInitExp; import dmd.StringExp; import dmd.TOK; import dmd.Util; import dmd.Type; class FileInitExp : DefaultInitExp { this(Loc loc) { super(loc, TOK.TOKfile, this.sizeof); } override Expression semantic(Scope sc) { type = Type.tchar.invariantOf().arrayOf(); return this; } override Expression resolveLoc(Loc loc, Scope sc) { //printf("FileInitExp::resolve() %.*s\n", toChars()); string s = loc.filename ? loc.filename : sc.module_.ident.toChars(); Expression e = new StringExp(loc, s); e = e.semantic(sc); e = e.castTo(sc, type); return e; } }