diff --git a/sources/shaders/Stride.Core.Shaders/Ast/Stride/TypeName.cs b/sources/shaders/Stride.Core.Shaders/Ast/Stride/TypeName.cs
new file mode 100644
index 0000000000..8e6e755fdd
--- /dev/null
+++ b/sources/shaders/Stride.Core.Shaders/Ast/Stride/TypeName.cs
@@ -0,0 +1,20 @@
+// Copyright (c) Stride contributors (https://stride3d.net) and Silicon Studio Corp. (https://www.siliconstudio.co.jp)
+// Distributed under the MIT license. See the LICENSE.md file in the project root for more information.
+using Stride.Core.Shaders.Ast;
+
+namespace Stride.Core.Shaders.Ast.Stride
+{
+ public partial class TypeName : TypeBase, IDeclaration, IScopeContainer, IGenericStringArgument
+ {
+ #region Constructors and Destructors
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public TypeName()
+ : base("TypeName")
+ {
+ }
+
+ #endregion
+ }
+}
diff --git a/sources/shaders/Stride.Core.Shaders/Visitor/VisitorGenerated.cs b/sources/shaders/Stride.Core.Shaders/Visitor/VisitorGenerated.cs
index 3bfb368c0d..107f19bf2c 100644
--- a/sources/shaders/Stride.Core.Shaders/Visitor/VisitorGenerated.cs
+++ b/sources/shaders/Stride.Core.Shaders/Visitor/VisitorGenerated.cs
@@ -39,6 +39,10 @@ public virtual TResult Visit(Stride.Core.Shaders.Ast.Stride.MemberName memberNam
{
return DefaultVisit(memberName);
}
+ public virtual TResult Visit(Stride.Core.Shaders.Ast.Stride.TypeName typeName)
+ {
+ return DefaultVisit(typeName);
+ }
public virtual TResult Visit(Stride.Core.Shaders.Ast.Stride.MixinStatement mixinStatement)
{
return DefaultVisit(mixinStatement);
@@ -445,6 +449,17 @@ public override Node Visit(Stride.Core.Shaders.Ast.Stride.MemberName memberName)
memberName.Qualifiers = qualifiersTemp;
return base.Visit(memberName);
}
+ public override Node Visit(Stride.Core.Shaders.Ast.Stride.TypeName typeName)
+ {
+ VisitList(typeName.Attributes);
+ var nameTemp = (Stride.Core.Shaders.Ast.Identifier)VisitDynamic(typeName.Name);
+ if (!ReferenceEquals(nameTemp, typeName.Name))
+ typeName.Name = nameTemp;
+ var qualifiersTemp = (Stride.Core.Shaders.Ast.Qualifier)VisitDynamic(typeName.Qualifiers);
+ if (!ReferenceEquals(qualifiersTemp, typeName.Qualifiers))
+ typeName.Qualifiers = qualifiersTemp;
+ return base.Visit(typeName);
+ }
public override Node Visit(Stride.Core.Shaders.Ast.Stride.MixinStatement mixinStatement)
{
VisitList(mixinStatement.Attributes);
@@ -1339,6 +1354,20 @@ public override Node Visit(Stride.Core.Shaders.Ast.Stride.MemberName memberName)
IsBuiltIn = memberName.IsBuiltIn,
};
}
+ public override Node Visit(Stride.Core.Shaders.Ast.Stride.TypeName typeName)
+ {
+ typeName = (Stride.Core.Shaders.Ast.Stride.TypeName)base.Visit(typeName);
+ return new Stride.Core.Shaders.Ast.Stride.TypeName
+ {
+ Span = typeName.Span,
+ Tags = typeName.Tags,
+ Attributes = typeName.Attributes,
+ TypeInference = typeName.TypeInference,
+ Name = typeName.Name,
+ Qualifiers = typeName.Qualifiers,
+ IsBuiltIn = typeName.IsBuiltIn,
+ };
+ }
public override Node Visit(Stride.Core.Shaders.Ast.Stride.MixinStatement mixinStatement)
{
mixinStatement = (Stride.Core.Shaders.Ast.Stride.MixinStatement)base.Visit(mixinStatement);
@@ -2457,6 +2486,10 @@ public virtual void Visit(Stride.Core.Shaders.Ast.Stride.MemberName memberName)
{
DefaultVisit(memberName);
}
+ public virtual void Visit(Stride.Core.Shaders.Ast.Stride.TypeName typeName)
+ {
+ DefaultVisit(typeName);
+ }
public virtual void Visit(Stride.Core.Shaders.Ast.Stride.MixinStatement mixinStatement)
{
DefaultVisit(mixinStatement);
@@ -3491,6 +3524,20 @@ public override TResult Accept(ShaderVisitor visitor)
}
}
namespace Stride.Core.Shaders.Ast.Stride
+{
+ public partial class TypeName
+ {
+ public override void Accept(ShaderVisitor visitor)
+ {
+ visitor.Visit(this);
+ }
+ public override TResult Accept(ShaderVisitor visitor)
+ {
+ return visitor.Visit(this);
+ }
+ }
+}
+namespace Stride.Core.Shaders.Ast.Stride
{
public partial class MixinStatement
{