3 using System.Collections.Generic;
5 using SiliconStudio.Paradox.Shaders.Parser.Mixins;
6 using SiliconStudio.Shaders.Ast;
7 using SiliconStudio.Shaders.Ast.Hlsl;
8 using SiliconStudio.Shaders.Parser;
10 namespace SiliconStudio.
Paradox.Shaders.Parser.Analysis
12 internal class ParadoxParsingInfo
14 #region Public properties
19 public HashSet<Variable> StageInitializedVariables {
get;
private set; }
24 public List<Typedef> Typedefs {
get;
private set; }
29 public List<StructType> StructureDefinitions {
get;
private set; }
34 public HashSet<MethodInvocationExpression> BaseMethodCalls {
get;
private set; }
39 public HashSet<MethodInvocationExpression> ThisMethodCalls {
get;
private set; }
44 public HashSet<MethodInvocationExpression> StageMethodCalls {
get;
private set; }
49 public HashSet<StatementNodeCouple> ForEachStatements {
get;
private set; }
54 public ReferencesPool ClassReferences {
get;
private set; }
59 public ReferencesPool StaticReferences {
get;
private set; }
64 public ReferencesPool ExternReferences {
get;
private set; }
69 public ReferencesPool StageInitReferences {
get;
private set; }
74 public HashSet<ModuleMixin> StaticClasses {
get;
private set; }
78 #region Public members
89 public ParadoxParsingInfo()
91 StageInitializedVariables =
new HashSet<Variable>();
92 Typedefs =
new List<Typedef>();
93 StructureDefinitions =
new List<StructType>();
94 BaseMethodCalls =
new HashSet<MethodInvocationExpression>();
95 ThisMethodCalls =
new HashSet<MethodInvocationExpression>();
96 StageMethodCalls =
new HashSet<MethodInvocationExpression>();
97 ForEachStatements =
new HashSet<StatementNodeCouple>();
98 ClassReferences =
new ReferencesPool();
99 StaticReferences =
new ReferencesPool();
100 ExternReferences =
new ReferencesPool();
101 StageInitReferences =
new ReferencesPool();
102 StaticClasses =
new HashSet<ModuleMixin>();