private void DeclareTempVars(AbcCode code) { foreach (var var in _initializableTempVars) { code.AddRange(var.Init); code.SetLocal(var.Index); } }
private IEnumerable <IInstruction> SetFalse(IVariable var) { var code = new AbcCode(_abc); code.PushBool(false); code.AddRange(StoreVariable(var)); return(code); }
private IEnumerable <IInstruction> SetDoubleZero(IVariable var) { var code = new AbcCode(_abc); code.PushDouble(0); code.AddRange(StoreVariable(var)); return(code); }
private IEnumerable <IInstruction> SetNull(IType type, IVariable var) { EnsureType(type); var code = new AbcCode(_abc); code.PushNull(); code.Coerce(type, true); code.AddRange(StoreVariable(var)); return(code); }
private IEnumerable <IInstruction> SetValueType(IType type, IVariable var) { var code = new AbcCode(_abc); code.InitObject(type); if (code.Count == 0) { throw new InvalidOperationException("Unable to InitObject"); } code.AddRange(StoreVariable(var)); return(code); }