Mercurial > projects > ldc
view dmd2/html.h @ 1512:09734fb929c0
Make == for associative arrays test for equality, not identity.
_aaEq was added to runtime/internal/aaA.d which forwards to
TypeInfo_AssociativeArray.equals in genobj.d. On the codegen side, DtoAAEquals
was added to gen/aa.cpp and is called from EqualExp::toElem in gen/toir.cpp.
I assume that the frontend will produce an error if == is used on associative
arrays of different type.
This fixes DMD bug 1429.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 21 Jun 2009 19:05:24 +0200 |
parents | 638d16625da2 |
children |
line wrap: on
line source
// Copyright (c) 1999-2006 by Digital Mars // All Rights Reserved // written by Walter Bright // www.digitalmars.com // License for redistribution is by either the Artistic License // in artistic.txt, or the GNU General Public License in gnu.txt. // See the included readme.txt for details. #ifndef DMD_HTML_H #define DMD_HTML_H 1 struct OutBuffer; struct Html { const char *sourcename; unsigned char *base; // pointer to start of buffer unsigned char *end; // past end of buffer unsigned char *p; // current character unsigned linnum; // current line number OutBuffer *dbuf; // code source buffer int inCode; // !=0 if in code Html(const char *sourcename, unsigned char *base, unsigned length); void error(const char *format, ...) IS_PRINTF(2); void extractCode(OutBuffer *buf); void skipTag(); void skipString(); unsigned char *skipWhite(unsigned char *q); void scanComment(); int isCommentStart(); void scanCDATA(); int isCDATAStart(); int charEntity(); static int namedEntity(unsigned char *p, int length); }; #endif