Mercurial > projects > ldc
diff dmd2/expression.h @ 1577:e4f7b5d9c68a
DMD 2.032 Merge.
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Tue, 08 Sep 2009 10:07:56 +0100 |
parents | 54b3c1394d62 |
children |
line wrap: on
line diff
--- a/dmd2/expression.h Tue Aug 25 21:35:43 2009 +0200 +++ b/dmd2/expression.h Tue Sep 08 10:07:56 2009 +0100 @@ -1,6 +1,6 @@ // Compiler implementation of the D programming language -// Copyright (c) 1999-2008 by Digital Mars +// Copyright (c) 1999-2009 by Digital Mars // All Rights Reserved // written by Walter Bright // http://www.digitalmars.com @@ -323,6 +323,7 @@ ThisExp(Loc loc); Expression *semantic(Scope *sc); + Expression *interpret(InterState *istate); int isBool(int result); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); int isLvalue(); @@ -361,6 +362,7 @@ NullExp(Loc loc); Expression *semantic(Scope *sc); int isBool(int result); + int isConst(); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); void toMangleBuffer(OutBuffer *buf); MATCH implicitConvTo(Type *t); @@ -620,6 +622,7 @@ Type *newtype, Expressions *arguments); Expression *syntaxCopy(); Expression *semantic(Scope *sc); + Expression *optimize(int result); #if IN_DMD elem *toElem(IRState *irs); #endif @@ -1245,6 +1248,8 @@ int checkSideEffect(int flag); void checkEscape(); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); + void buildArrayIdent(OutBuffer *buf, Expressions *arguments); + Expression *buildArrayLoop(Arguments *fparams); #if IN_DMD elem *toElem(IRState *irs); #endif