Ejemplo n.º 1
0
        /// <summary>
        /// Begins a new statement.
        /// </summary>
        /// <param name="target">The target variable to assign to.</param>
        /// <param name="command">The initial command to emit.</param>
        /// <returns>The created statement emitter.</returns>
        public StatementEmitter BeginStatement(IntrinsicVariable target, string command)
        {
            var emitter = BeginStatement(target);

            emitter.AppendCommand(command);
            return(emitter);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Begins a new statement.
        /// </summary>
        /// <param name="target">The target variable to assign to.</param>
        /// <param name="indexer">The indexer variable to use.</param>
        /// <returns>The created statement emitter.</returns>
        public StatementEmitter BeginStatement(IntrinsicVariable target, IntrinsicVariable indexer)
        {
            var emitter = new StatementEmitter(this, Indent);

            emitter.AppendIndexedTarget(target, indexer);
            return(emitter);
        }
Ejemplo n.º 3
0
            /// <summary>
            /// Starts a target assignment.
            /// </summary>
            /// <param name="target">The target.</param>
            private void BeginAppendTarget(IntrinsicVariable target)
            {
                var variableType = CodeGenerator.GetVariableType(target);

                stringBuilder.Append(variableType);
                stringBuilder.Append(' ');
                stringBuilder.Append(target.ToString());
            }
Ejemplo n.º 4
0
 /// <summary>
 /// Appends an indexer target.
 /// </summary>
 /// <param name="target">The target.</param>
 /// <param name="indexer">The indexer variable.</param>
 internal void AppendIndexedTarget(IntrinsicVariable target, IntrinsicVariable indexer)
 {
     BeginAppendTarget(target);
     AppendIndexer(indexer);
     stringBuilder.Append(" = ");
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Appends a target.
 /// </summary>
 /// <param name="target">The target.</param>
 internal void AppendTarget(IntrinsicVariable target)
 {
     BeginAppendTarget(target);
     stringBuilder.Append(" = ");
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Appends the given register argument.
 /// </summary>
 /// <param name="argument">The argument to append.</param>
 public void AppendArgument(IntrinsicVariable argument)
 {
     AppendArgument();
     Append(argument);
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Appends the given variable directly.
 /// </summary>
 /// <param name="variable">The variable to append.</param>
 public void Append(IntrinsicVariable variable)
 {
     stringBuilder.Append(variable.ToString());
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Appends an indexer.
 /// </summary>
 /// <param name="indexer">The indexer variable.</param>
 public void AppendIndexer(IntrinsicVariable indexer)
 {
     stringBuilder.Append('[');
     stringBuilder.Append(indexer.ToString());
     stringBuilder.Append(']');
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Appends a field target.
 /// </summary>
 /// <param name="target">The target.</param>
 /// <param name="fieldIndex">The field index.</param>
 internal void AppendFieldTarget(IntrinsicVariable target, int fieldIndex)
 {
     BeginAppendTarget(target);
     AppendField(fieldIndex);
     stringBuilder.Append(" = ");
 }