view dmd/ModuleDeclaration.d @ 191:52188e7e3fb5

Fixed deprecated features, now compiles with DMD2.058 Also changed Array allocation policy: Now doesn't reallocate but malloc's, followed by a memcpy (no free). (this fixes a crash while compiling druntime. Same bug in dmd)
author korDen@korDen-pc
date Sun, 25 Mar 2012 03:11:12 +0400
parents b0d41ff5e0df
children
line wrap: on
line source

module dmd.ModuleDeclaration;

import dmd.common;
import dmd.Identifier;
import dmd.ArrayTypes;
import dmd.OutBuffer;

import dmd.TObject;

import dmd.DDMDExtensions;

class ModuleDeclaration : TObject
{
	mixin insertMemberExtension!(typeof(this));

    Identifier id;
    Identifiers packages;		// array of Identifier's representing packages
    bool safe;

    this(Identifiers packages, Identifier id, bool safe)
	{
		register();
		this.packages = packages;
		this.id = id;
		this.safe = safe;
	}

    string toChars()
	{
		scope OutBuffer buf = new OutBuffer();
		if (packages)
		{
			foreach (pid; packages)
			{
                buf.writestring(pid.toChars());
				buf.writeByte('.');
			}
		}
		buf.writestring(id.toChars());
		buf.writeByte(0);
		return buf.extractString();
	}
}