Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
        /// <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));
        }