view dmd/Loc.d @ 184:9f4e5ac4f0a3

One step closer to building on posix. There are two missing symbols so it actually doesn't build but previously it didn't build correctly anyway.
author Jacob Carlborg <doob@me.com>
date Tue, 02 Nov 2010 08:46:11 +0100
parents e3afd1303184
children
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);
	}
}