view dmd/Loc.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 e28b18c23469
children e3afd1303184
line wrap: on
line source

module dmd.Loc;

import dmd.common;
import dmd.Module;
import dmd.OutBuffer;

struct Loc
{
    string filename;
    uint linnum;

    this(int x)
    {
		linnum = x;
		filename = null;
    }

    this(Module mod, uint linnum)
	{
		this.linnum = linnum;
		this.filename = mod ? mod.srcfile.toChars() : null;
	}

    string toChars()
	{
		scope OutBuffer buf = new OutBuffer();

		if (filename !is null) {
			buf.printf("%s", filename);
		}

		if (linnum) {
			buf.printf("(%d)", linnum);
			buf.writeByte(0);
		}

		return buf.extractString();
	}

    bool equals(ref const(Loc) loc)
	{
		assert(false);
	}
}