view ir/irsymbol.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 46f6365a50d7
children
line wrap: on
line source

#ifndef __LDC_IR_IRSYMBOL_H__
#define __LDC_IR_IRSYMBOL_H__

#include "ir/ir.h"

/// Base class for all symbols.
class IrSymbol
{
public:
    ///
    IrSymbol(Ir* ir) : ir(ir) {}

    /// Migrate symbols to current module if necessary.
    virtual void migrate() = 0;

protected:
    ///
    Ir* ir;
};

#endif