3 using System.Collections.Generic;
6 using SiliconStudio.Shaders.Ast;
7 using SiliconStudio.Shaders.Visitor;
9 namespace SiliconStudio.
Paradox.Shaders.Parser.Mixins
13 #region Private members
18 private HashSet<MethodInvocationExpression> appendMethodsList;
23 private List<Statement> outputStatements;
34 public ParadoxReplaceAppend(HashSet<MethodInvocationExpression> appendList, List<Statement> output,
VariableReferenceExpression vre)
37 appendMethodsList = appendList;
38 outputStatements = output;
46 public void Run(
Node startNode)
53 #region Protected method
58 Visit((
Node)expressionStatement);
60 if (appendMethodsList.Contains(expressionStatement.
Expression))
64 blockStatement.Statements.AddRange(outputStatements);
65 appendMethodCall.Arguments[0] = outputVre;
66 blockStatement.Statements.Add(expressionStatement);
67 return blockStatement;
69 return expressionStatement;
Expression Expression
Gets or sets the expression.
A reference to a variable.