view dmd/Loc.d @ 0:10317f0c89a5

Initial commit
author korDen
date Sat, 24 Oct 2009 08:42:06 +0400
parents
children e28b18c23469
line wrap: on
line source

module dmd.Loc;

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);
	}
}