namespace Microsoft.JScript {
- public class VariableStatement : AST {
+ internal class VariableStatement : AST, ICanModifyContext {
internal ArrayList var_decls;
- internal VariableStatement ()
+ internal VariableStatement (AST parent, Location location)
+ : base (parent, location)
{
var_decls = new ArrayList ();
}
return sb.ToString ();
}
+ void ICanModifyContext.EmitDecls (EmitContext ec)
+ {
+ foreach (VariableDeclaration var_decl in var_decls)
+ ((ICanModifyContext) var_decl).EmitDecls (ec);
+ }
+
internal override void Emit (EmitContext ec)
{
int i, size = var_decls.Count;
((VariableDeclaration) var_decls [i]).Emit (ec);
}
- internal override bool Resolve (IdentificationTable context)
+ void ICanModifyContext.PopulateContext (Environment env, string ns)
+ {
+ foreach (VariableDeclaration var_decl in var_decls)
+ ((ICanModifyContext) var_decl).PopulateContext (env, ns);
+ }
+
+ internal override bool Resolve (Environment env)
{
VariableDeclaration tmp_decl;
- int i, n = var_decls.Count;
+ int n = var_decls.Count;
bool r = true;
- for (i = 0; i < n; i++) {
+ for (int i = 0; i < n; i++) {
tmp_decl = (VariableDeclaration) var_decls [i];
- r &= tmp_decl.Resolve (context);
+ r &= tmp_decl.Resolve (env);
}
return r;
}