/// <summary> /// Assigns the literal to target variable. /// </summary> /// <param name="targetVar">The target variable.</param> /// <param name="literal">The literal.</param> /// <param name="literalInfo">The literal information.</param> /// <returns>AssignBuilder.</returns> public override AssignBuilder AssignLiteral(string targetVar, object literal, InstanceInfo literalInfo) { var literalInstance = Context.Machine.CreateDirectInstance(literal, literalInfo); var target = getVariable(targetVar, literalInstance.Info); var result = new AssignLiteral(target, literalInstance); emitInstruction(result); return(new AssignBuilder(result)); }
/// <summary> /// Assigns the instance to target variable. /// </summary> /// <param name="targetVar">The target variable.</param> /// <param name="instance">The instance.</param> /// <param name="instanceInfo">The instance information.</param> /// <returns>AssignBuilder.</returns> public override AssignBuilder AssignInstance(string targetVar, Instance instance, InstanceInfo instanceInfo = null) { if (instanceInfo == null) { instanceInfo = instance.Info; } var target = getVariable(targetVar, instanceInfo); var result = new AssignLiteral(target, instance); emitInstruction(result); return(new AssignBuilder(result)); }