Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
ParadoxTagCleaner.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using SiliconStudio.Paradox.Shaders.Parser.Ast;
4 using SiliconStudio.Shaders.Ast;
5 using SiliconStudio.Shaders.Visitor;
6 
7 namespace SiliconStudio.Paradox.Shaders.Parser.Mixins
8 {
9  internal class ParadoxTagCleaner : ShaderVisitor
10  {
11  public ParadoxTagCleaner()
12  : base(false, false)
13  {
14  }
15 
16  public void Run(ShaderClassType shader)
17  {
18  Visit(shader);
19  }
20 
21  [Visit]
22  protected override Node Visit(Node node)
23  {
24  node.RemoveTag(ParadoxTags.ConstantBuffer);
25  node.RemoveTag(ParadoxTags.ShaderScope);
26  node.RemoveTag(ParadoxTags.StaticRef);
27  node.RemoveTag(ParadoxTags.ExternRef);
28  node.RemoveTag(ParadoxTags.StageInitRef);
29  node.RemoveTag(ParadoxTags.CurrentShader);
30  node.RemoveTag(ParadoxTags.VirtualTableReference);
31  node.RemoveTag(ParadoxTags.BaseDeclarationMixin);
32  node.RemoveTag(ParadoxTags.ShaderScope);
33  return base.Visit(node);
34  }
35  }
36 }
SiliconStudio.Shaders.Ast.Hlsl.ConstantBuffer ConstantBuffer
Abstract node.
Definition: Node.cs:15
document false