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 {