/// <summary> /// Assigns the new object to target variable. /// </summary> /// <param name="targetVar">The target variable.</param> /// <param name="objectInfo">The object information.</param> /// <returns>AssignBuilder.</returns> public abstract AssignBuilder AssignNewObject(string targetVar, InstanceInfo objectInfo);
/// <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 abstract AssignBuilder AssignLiteral(string targetVar, object literal, InstanceInfo literalInfo = null);
/// <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 abstract AssignBuilder AssignInstance(string targetVar, Instance instance, InstanceInfo instanceInfo = null);
/// <summary> /// Emit static call on shared instance with given information. /// </summary> /// <param name="sharedInstanceInfo">The shared instance information.</param> /// <param name="method">The method.</param> /// <param name="arguments">The arguments.</param> /// <returns>CallBuilder.</returns> public abstract CallBuilder StaticCall(InstanceInfo sharedInstanceInfo, MethodID method, Arguments arguments);
/// <summary> /// Assigning last call return value into specified target variable. /// </summary> /// <param name="targetVar">Variable where returned value will be assigned.</param> /// <param name="staticInfo">The static information.</param> /// <returns>AssignBuilder.</returns> public abstract AssignBuilder AssignReturnValue(string targetVar, InstanceInfo staticInfo);
/// <summary> /// Assigns the argument at specified position to target variable. /// </summary> /// <param name="targetVar">The target variable.</param> /// <param name="staticInfo">The static information.</param> /// <param name="argumentPosition">The argument position.</param> /// <returns>AssignBuilder.</returns> public abstract AssignBuilder AssignArgument(string targetVar, InstanceInfo staticInfo, uint argumentPosition);
/// <summary> /// Gets the shared initializer for <see cref="Instance"/> with given info. /// </summary> /// <param name="sharedInstanceInfo">Instance info.</param> /// <returns>Initializer identifier.</returns> public abstract MethodID GetSharedInitializer(InstanceInfo sharedInstanceInfo);
/// <summary> /// Determine that instance described by given info is represented by /// <see cref="DirectInstance" />. /// </summary> /// <param name="info">Checked info.</param> /// <returns><c>true</c> if instance is represented by <see cref="DirectInstance" />, false otherwise.</returns> public abstract bool IsDirect(InstanceInfo info);