예제 #1
0
 public static void MoveMemory(MemoryBlock memory, AsquellObj to, AsquellObj from)
 {
     if (from.Type == AsquellObjectType.RunTimeValue)
     {
         if (memory.VariableInMemory(from))
         {
             AsquellObj rawValue = memory.GetRealVariable(from);
             memory.ModifyVariable(to, rawValue);
             memory.DeleteVariable(from);
             return;
         }
         else
         {
             throw new KeyNotFoundException("Can not find '"+from.Value.ToString()+"' in memory!");
         }
     }
     throw new ArgumentException("Invalid type for moving memory! First argument must be a variable!");
 }
예제 #2
0
파일: MathCore.cs 프로젝트: Turnerj/Asquell
 private static NumericObj getNumericObj(AsquellObj obj, MemoryBlock memory)
 {
     obj = memory.GetRealVariable(obj);
     if (obj.Type == AsquellObjectType.Number)
         return new NumericObj(obj);
     else
         return null;
 }