view dmd/InterState.d @ 187:b0d41ff5e0df

Added expandability scheme outlined in http://www.dsource.org/forums/viewtopic.php?t=5659&sid=6f2150ff5b0bffcd47512a6a7608d218
author Abscissa
date Tue, 07 Jun 2011 23:37:34 -0400
parents e3afd1303184
children
line wrap: on
line source

module dmd.InterState;

import dmd.common;
import dmd.FuncDeclaration;
import dmd.Dsymbol;
import dmd.Expression;
import dmd.Statement;

import dmd.TObject;

class InterState : TObject
{
	this()
	{
		register();
		vars = new Dsymbols();
	}
	
    InterState caller;		// calling function's InterState
    FuncDeclaration fd;	// function being interpreted
    Dsymbols vars;		// variables used in this function
    Statement start;		// if !=NULL, start execution at this statement
    Statement gotoTarget;	// target of EXP_GOTO_INTERPRET result
    Expression localThis;	// value of 'this', or NULL if none
}