From 37c51b558385923e49cd8c2e8f83651f5e860555 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 4 May 2025 23:01:23 +0200 Subject: [PATCH] fixup attributes --- .../CSharp/Syntax/AstNode.cs | 2 +- .../CSharp/Syntax/AstType.cs | 2 +- .../CSharp/Syntax/CSharpModifierToken.cs | 2 +- .../CSharp/Syntax/CSharpTokenNode.cs | 2 +- .../CSharp/Syntax/ComposedType.cs | 4 ++-- .../CSharp/Syntax/DocumentationReference.cs | 2 +- .../Expressions/AnonymousMethodExpression.cs | 2 +- .../AnonymousTypeCreateExpression.cs | 2 +- .../Expressions/ArrayCreateExpression.cs | 2 +- .../Expressions/ArrayInitializerExpression.cs | 2 +- .../CSharp/Syntax/Expressions/AsExpression.cs | 2 +- .../Expressions/AssignmentExpression.cs | 2 +- .../Expressions/BaseReferenceExpression.cs | 2 +- .../Expressions/BinaryOperatorExpression.cs | 2 +- .../Syntax/Expressions/CastExpression.cs | 2 +- .../Syntax/Expressions/CheckedExpression.cs | 2 +- .../Expressions/ConditionalExpression.cs | 2 +- .../Expressions/DeclarationExpression.cs | 2 +- .../Expressions/DefaultValueExpression.cs | 2 +- .../Syntax/Expressions/DirectionExpression.cs | 2 +- .../Syntax/Expressions/ErrorExpression.cs | 2 +- .../CSharp/Syntax/Expressions/Expression.cs | 2 +- .../Expressions/IdentifierExpression.cs | 2 +- .../Syntax/Expressions/IndexerExpression.cs | 2 +- .../InterpolatedStringExpression.cs | 8 ++++---- .../Expressions/InvocationExpression.cs | 2 +- .../CSharp/Syntax/Expressions/IsExpression.cs | 2 +- .../Syntax/Expressions/LambdaExpression.cs | 2 +- .../Expressions/MemberReferenceExpression.cs | 2 +- .../Expressions/NamedArgumentExpression.cs | 2 +- .../Syntax/Expressions/NamedExpression.cs | 2 +- .../Expressions/NullReferenceExpression.cs | 2 +- .../Expressions/ObjectCreateExpression.cs | 2 +- .../OutVarDeclarationExpression.cs | 2 +- .../Expressions/ParenthesizedExpression.cs | 2 +- .../Expressions/PointerReferenceExpression.cs | 2 +- .../Syntax/Expressions/PrimitiveExpression.cs | 2 +- .../Syntax/Expressions/QueryExpression.cs | 20 +++++++++---------- .../Expressions/RecursivePatternExpression.cs | 2 +- .../Syntax/Expressions/SizeOfExpression.cs | 2 +- .../Expressions/StackAllocExpression.cs | 2 +- .../Syntax/Expressions/SwitchExpression.cs | 4 ++-- .../Expressions/ThisReferenceExpression.cs | 2 +- .../Syntax/Expressions/ThrowExpression.cs | 2 +- .../Syntax/Expressions/TupleExpression.cs | 2 +- .../Syntax/Expressions/TypeOfExpression.cs | 2 +- .../Expressions/TypeReferenceExpression.cs | 2 +- .../Expressions/UnaryOperatorExpression.cs | 2 +- .../Syntax/Expressions/UncheckedExpression.cs | 2 +- .../Expressions/UndocumentedExpression.cs | 2 +- .../Expressions/WithInitializerExpression.cs | 2 +- .../CSharp/Syntax/FunctionPointerAstType.cs | 2 +- .../CSharp/Syntax/GeneralScope/Attribute.cs | 2 +- .../Syntax/GeneralScope/AttributeSection.cs | 2 +- .../CSharp/Syntax/GeneralScope/Comment.cs | 2 +- .../CSharp/Syntax/GeneralScope/Constraint.cs | 2 +- .../GeneralScope/DelegateDeclaration.cs | 2 +- .../GeneralScope/ExternAliasDeclaration.cs | 2 +- .../GeneralScope/NamespaceDeclaration.cs | 2 +- .../GeneralScope/PreProcessorDirective.cs | 6 +++--- .../Syntax/GeneralScope/TypeDeclaration.cs | 2 +- .../GeneralScope/TypeParameterDeclaration.cs | 2 +- .../GeneralScope/UsingAliasDeclaration.cs | 2 +- .../Syntax/GeneralScope/UsingDeclaration.cs | 2 +- .../CSharp/Syntax/Identifier.cs | 2 +- .../CSharp/Syntax/InvocationAstType.cs | 2 +- .../CSharp/Syntax/MemberType.cs | 2 +- .../CSharp/Syntax/PrimitiveType.cs | 2 +- .../CSharp/Syntax/SimpleType.cs | 2 +- .../Syntax/Statements/BlockStatement.cs | 2 +- .../Syntax/Statements/BreakStatement.cs | 2 +- .../Syntax/Statements/CheckedStatement.cs | 2 +- .../Syntax/Statements/ContinueStatement.cs | 2 +- .../Syntax/Statements/DoWhileStatement.cs | 2 +- .../Syntax/Statements/EmptyStatement.cs | 2 +- .../Syntax/Statements/ExpressionStatement.cs | 2 +- .../Syntax/Statements/FixedStatement.cs | 2 +- .../CSharp/Syntax/Statements/ForStatement.cs | 2 +- .../Syntax/Statements/ForeachStatement.cs | 2 +- .../CSharp/Syntax/Statements/GotoStatement.cs | 6 +++--- .../Syntax/Statements/IfElseStatement.cs | 2 +- .../Syntax/Statements/LabelStatement.cs | 2 +- .../LocalFunctionDeclarationStatement.cs | 2 +- .../CSharp/Syntax/Statements/LockStatement.cs | 2 +- .../Syntax/Statements/ReturnStatement.cs | 2 +- .../CSharp/Syntax/Statements/Statement.cs | 2 +- .../Syntax/Statements/SwitchStatement.cs | 6 +++--- .../Syntax/Statements/ThrowStatement.cs | 2 +- .../Syntax/Statements/TryCatchStatement.cs | 4 ++-- .../Syntax/Statements/UncheckedStatement.cs | 2 +- .../Syntax/Statements/UnsafeStatement.cs | 2 +- .../Syntax/Statements/UsingStatement.cs | 2 +- .../VariableDeclarationStatement.cs | 2 +- .../Syntax/Statements/WhileStatement.cs | 2 +- .../Syntax/Statements/YieldBreakStatement.cs | 2 +- .../Syntax/Statements/YieldReturnStatement.cs | 2 +- .../CSharp/Syntax/SyntaxTree.cs | 2 +- .../CSharp/Syntax/TupleAstType.cs | 4 ++-- .../CSharp/Syntax/TypeMembers/Accessor.cs | 2 +- .../TypeMembers/ConstructorDeclaration.cs | 4 ++-- .../TypeMembers/DestructorDeclaration.cs | 2 +- .../TypeMembers/EnumMemberDeclaration.cs | 2 +- .../Syntax/TypeMembers/EventDeclaration.cs | 4 ++-- .../Syntax/TypeMembers/FieldDeclaration.cs | 2 +- .../TypeMembers/FixedFieldDeclaration.cs | 2 +- .../TypeMembers/FixedVariableInitializer.cs | 2 +- .../Syntax/TypeMembers/IndexerDeclaration.cs | 2 +- .../Syntax/TypeMembers/MethodDeclaration.cs | 2 +- .../Syntax/TypeMembers/OperatorDeclaration.cs | 2 +- .../TypeMembers/ParameterDeclaration.cs | 2 +- .../Syntax/TypeMembers/PropertyDeclaration.cs | 2 +- .../Syntax/TypeMembers/VariableInitializer.cs | 2 +- .../CSharp/Syntax/VariableDesignation.cs | 6 +++--- 113 files changed, 139 insertions(+), 139 deletions(-) diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/AstNode.cs b/ICSharpCode.Decompiler/CSharp/Syntax/AstNode.cs index 75a1d5e94..0f5666c8e 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/AstNode.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/AstNode.cs @@ -37,7 +37,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public abstract partial class AstNode : AbstractAnnotatable, IFreezable, INode, ICloneable { // the Root role must be available when creating the null nodes, so we can't put it in the Roles class diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/AstType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/AstType.cs index 7447c8710..9766e0d77 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/AstType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/AstType.cs @@ -28,7 +28,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// A type reference in the C# AST. /// - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public abstract partial class AstType : AstNode { #region PatternPlaceholder diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/CSharpModifierToken.cs b/ICSharpCode.Decompiler/CSharp/Syntax/CSharpModifierToken.cs index 6ca9ce12d..d295a515b 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/CSharpModifierToken.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/CSharpModifierToken.cs @@ -31,7 +31,7 @@ using ICSharpCode.Decompiler.CSharp.OutputVisitor; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class CSharpModifierToken : CSharpTokenNode { Modifiers modifier; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/CSharpTokenNode.cs b/ICSharpCode.Decompiler/CSharp/Syntax/CSharpTokenNode.cs index 19f5ef080..00107dde9 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/CSharpTokenNode.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/CSharpTokenNode.cs @@ -34,7 +34,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// In all non null c# token nodes the Role of a CSharpToken must be a TokenRole. /// - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class CSharpTokenNode : AstNode { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/ComposedType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/ComposedType.cs index 70650fbc7..335ed8982 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/ComposedType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/ComposedType.cs @@ -34,7 +34,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ComposedType : AstType { public static readonly Role AttributeRole = EntityDeclaration.AttributeRole; @@ -231,7 +231,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [,,,] /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ArraySpecifier : AstNode { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/DocumentationReference.cs b/ICSharpCode.Decompiler/CSharp/Syntax/DocumentationReference.cs index 44af88489..f677ccb62 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/DocumentationReference.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/DocumentationReference.cs @@ -23,7 +23,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Represents a 'cref' reference in XML documentation. /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class DocumentationReference : AstNode { public static readonly Role DeclaringTypeRole = new Role("DeclaringType", AstType.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousMethodExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousMethodExpression.cs index 30c52c986..96a20ab85 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousMethodExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousMethodExpression.cs @@ -32,7 +32,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [async] delegate(Parameters) {Body} /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class AnonymousMethodExpression : Expression { public readonly static TokenRole DelegateKeywordRole = new TokenRole("delegate"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousTypeCreateExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousTypeCreateExpression.cs index c2793c3f8..f154fe88c 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousTypeCreateExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousTypeCreateExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// new { [ExpressionList] } /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class AnonymousTypeCreateExpression : Expression { public readonly static TokenRole NewKeywordRole = new TokenRole("new"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayCreateExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayCreateExpression.cs index 84d583916..dbc2f7910 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayCreateExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayCreateExpression.cs @@ -22,7 +22,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// new Type[Dimensions] /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ArrayCreateExpression : Expression { public readonly static TokenRole NewKeywordRole = new TokenRole("new"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs index 0bf14651c..c56d3c4f5 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// { Elements } /// - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class ArrayInitializerExpression : Expression { /// diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AsExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AsExpression.cs index 06c64f84c..522691d7c 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AsExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AsExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Expression as TypeReference /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class AsExpression : Expression { public readonly static TokenRole AsKeywordRole = new TokenRole("as"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AssignmentExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AssignmentExpression.cs index af6ac366a..5f14cc6e2 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AssignmentExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AssignmentExpression.cs @@ -33,7 +33,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Left Operator= Right /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class AssignmentExpression : Expression { // reuse roles from BinaryOperatorExpression diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BaseReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BaseReferenceExpression.cs index 48bab380f..6c785e64b 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BaseReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BaseReferenceExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// base /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class BaseReferenceExpression : Expression { public TextLocation Location { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BinaryOperatorExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BinaryOperatorExpression.cs index 09e414199..6f08b6e28 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BinaryOperatorExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BinaryOperatorExpression.cs @@ -32,7 +32,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Left Operator Right /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class BinaryOperatorExpression : Expression { public readonly static TokenRole BitwiseAndRole = new TokenRole("&"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CastExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CastExpression.cs index 670154e06..729f703a0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CastExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CastExpression.cs @@ -28,7 +28,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// (CastTo)Expression /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class CastExpression : Expression { public CSharpTokenNode LParToken { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CheckedExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CheckedExpression.cs index 098f1d44f..d13774e51 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CheckedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CheckedExpression.cs @@ -29,7 +29,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// checked(Expression) /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class CheckedExpression : Expression { public readonly static TokenRole CheckedKeywordRole = new TokenRole("checked"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ConditionalExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ConditionalExpression.cs index 33ff6906f..5a0fe3edc 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ConditionalExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ConditionalExpression.cs @@ -28,7 +28,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Condition ? TrueExpression : FalseExpression /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ConditionalExpression : Expression { public readonly static Role ConditionRole = Roles.Condition; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DeclarationExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DeclarationExpression.cs index 5254405fb..b657c9a59 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DeclarationExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DeclarationExpression.cs @@ -23,7 +23,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// TypeName VariableDesignation /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class DeclarationExpression : Expression { public AstType Type { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DefaultValueExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DefaultValueExpression.cs index b11368059..da7376f1a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DefaultValueExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DefaultValueExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// default(Type) /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class DefaultValueExpression : Expression { public readonly static TokenRole DefaultKeywordRole = new TokenRole("default"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DirectionExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DirectionExpression.cs index f675384ac..faac5001d 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DirectionExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DirectionExpression.cs @@ -38,7 +38,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// ref Expression /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class DirectionExpression : Expression { public readonly static TokenRole RefKeywordRole = new TokenRole("ref"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ErrorExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ErrorExpression.cs index 4314e12db..3536fd897 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ErrorExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ErrorExpression.cs @@ -25,7 +25,7 @@ // THE SOFTWARE. namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ErrorExpression : Expression { public TextLocation Location { get; set; } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/Expression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/Expression.cs index f8f3cf139..54c5bfb5e 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/Expression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/Expression.cs @@ -27,7 +27,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// This class is useful even though it doesn't provide any additional functionality: /// It can be used to communicate more information in APIs, e.g. "this subnode will always be an expression" /// - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public abstract partial class Expression : AstNode { #region PatternPlaceholder diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IdentifierExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IdentifierExpression.cs index 45d7a2694..ba3bbdf0e 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IdentifierExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IdentifierExpression.cs @@ -26,7 +26,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class IdentifierExpression : Expression { public IdentifierExpression() diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IndexerExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IndexerExpression.cs index 5d083c0b7..4952df1b7 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IndexerExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IndexerExpression.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Target[Arguments] /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class IndexerExpression : Expression { public Expression Target { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InterpolatedStringExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InterpolatedStringExpression.cs index 621faccb7..bc82afb08 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InterpolatedStringExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InterpolatedStringExpression.cs @@ -4,7 +4,7 @@ using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class InterpolatedStringExpression : Expression { public static readonly TokenRole OpenQuote = new TokenRole("$\""); @@ -46,7 +46,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public abstract partial class InterpolatedStringContent : AstNode { public new static readonly Role Role = new Role("InterpolatedStringContent", Syntax.InterpolatedStringContent.Null); @@ -57,7 +57,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// { Expression , Alignment : Suffix } /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class Interpolation : InterpolatedStringContent { public static readonly TokenRole LBrace = new TokenRole("{"); @@ -114,7 +114,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class InterpolatedStringText : InterpolatedStringContent { public string Text { get; set; } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InvocationExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InvocationExpression.cs index 3e5804fe6..dd7a299c7 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InvocationExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InvocationExpression.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Target(Arguments) /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class InvocationExpression : Expression { public Expression Target { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IsExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IsExpression.cs index 158e709fc..089e4ebd2 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IsExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IsExpression.cs @@ -28,7 +28,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Expression is Type /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class IsExpression : Expression { public readonly static TokenRole IsKeywordRole = new TokenRole("is"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/LambdaExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/LambdaExpression.cs index ca5e8724a..9874fd622 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/LambdaExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/LambdaExpression.cs @@ -29,7 +29,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [async] Parameters => Body /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class LambdaExpression : Expression { public static readonly Role AttributeRole = new Role("Attribute", null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/MemberReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/MemberReferenceExpression.cs index a816a4322..4c6251aa2 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/MemberReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/MemberReferenceExpression.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Target.MemberName /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class MemberReferenceExpression : Expression { public Expression Target { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedArgumentExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedArgumentExpression.cs index c1121f03a..b1fc18231 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedArgumentExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedArgumentExpression.cs @@ -23,7 +23,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// Represents a named argument passed to a method or attribute. /// name: expression /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class NamedArgumentExpression : Expression { public NamedArgumentExpression() diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedExpression.cs index 64438c19a..bdf5cb68d 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedExpression.cs @@ -32,7 +32,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// This isn't the same as 'assign' even though it has the same syntax. /// This expression is used in object initializers and for named attribute arguments [Attr(FieldName = value)]. /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class NamedExpression : Expression { public NamedExpression() diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NullReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NullReferenceExpression.cs index c2f2bbaa1..14c4e1483 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NullReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NullReferenceExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// null /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class NullReferenceExpression : Expression { TextLocation location; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ObjectCreateExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ObjectCreateExpression.cs index 4729341f0..da2f559ae 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ObjectCreateExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ObjectCreateExpression.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// new Type(Arguments) { Initializer } /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ObjectCreateExpression : Expression { public readonly static TokenRole NewKeywordRole = new TokenRole("new"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/OutVarDeclarationExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/OutVarDeclarationExpression.cs index 70cc5f21b..d00d9bce1 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/OutVarDeclarationExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/OutVarDeclarationExpression.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// out type expression /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class OutVarDeclarationExpression : Expression { public readonly static TokenRole OutKeywordRole = DirectionExpression.OutKeywordRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ParenthesizedExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ParenthesizedExpression.cs index f08490a0a..394b43b90 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ParenthesizedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ParenthesizedExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// ( Expression ) /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ParenthesizedExpression : Expression { public CSharpTokenNode LParToken { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PointerReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PointerReferenceExpression.cs index 1aa8f5592..635d975b9 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PointerReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PointerReferenceExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Target->MemberName /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class PointerReferenceExpression : Expression { public readonly static TokenRole ArrowRole = new TokenRole("->"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PrimitiveExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PrimitiveExpression.cs index ddf82ffc0..f53f0525f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PrimitiveExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PrimitiveExpression.cs @@ -46,7 +46,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Represents a literal value. /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class PrimitiveExpression : Expression { public static readonly object AnyValue = new object(); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/QueryExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/QueryExpression.cs index e3708a69f..c0d5f6636 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/QueryExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/QueryExpression.cs @@ -18,7 +18,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class QueryExpression : Expression { public static readonly Role ClauseRole = new Role("Clause", null); @@ -74,7 +74,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// new QuerySelectClause(e) /// } /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class QueryContinuationClause : QueryClause { public static readonly Role PrecedingQueryRole = new Role("PrecedingQuery", QueryExpression.Null); @@ -124,7 +124,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class QueryFromClause : QueryClause { public static readonly TokenRole FromKeywordRole = new TokenRole("from"); @@ -184,7 +184,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class QueryLetClause : QueryClause { public readonly static TokenRole LetKeywordRole = new TokenRole("let"); @@ -238,7 +238,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class QueryWhereClause : QueryClause { public readonly static TokenRole WhereKeywordRole = new TokenRole("where"); @@ -277,7 +277,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Represents a join or group join clause. /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class QueryJoinClause : QueryClause { public static readonly TokenRole JoinKeywordRole = new TokenRole("join"); @@ -388,7 +388,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class QueryOrderClause : QueryClause { public static readonly TokenRole OrderbyKeywordRole = new TokenRole("orderby"); @@ -424,7 +424,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class QueryOrdering : AstNode { public readonly static TokenRole AscendingKeywordRole = new TokenRole("ascending"); @@ -477,7 +477,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax Descending } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class QuerySelectClause : QueryClause { public readonly static TokenRole SelectKeywordRole = new TokenRole("select"); @@ -513,7 +513,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class QueryGroupClause : QueryClause { public static readonly TokenRole GroupKeywordRole = new TokenRole("group"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/RecursivePatternExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/RecursivePatternExpression.cs index f0f7a1d25..85aa497ec 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/RecursivePatternExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/RecursivePatternExpression.cs @@ -20,7 +20,7 @@ using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class RecursivePatternExpression : Expression { public static readonly Role SubPatternRole = new Role("SubPattern", Syntax.Expression.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SizeOfExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SizeOfExpression.cs index 6a3acb9c7..cb5df44f1 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SizeOfExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SizeOfExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// sizeof(Type) /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class SizeOfExpression : Expression { public readonly static TokenRole SizeofKeywordRole = new TokenRole("sizeof"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/StackAllocExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/StackAllocExpression.cs index 0ea2cdf13..67e87d087 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/StackAllocExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/StackAllocExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// stackalloc Type[Count] /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class StackAllocExpression : Expression { public readonly static TokenRole StackallocKeywordRole = new TokenRole("stackalloc"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SwitchExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SwitchExpression.cs index c1af952a0..1565ba8ed 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SwitchExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SwitchExpression.cs @@ -22,7 +22,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Expression switch { SwitchSections } /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class SwitchExpression : Expression { public static readonly TokenRole SwitchKeywordRole = new TokenRole("switch"); @@ -74,7 +74,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Pattern => Expression /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class SwitchExpressionSection : AstNode { public static readonly Role PatternRole = new Role("Pattern", Expression.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThisReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThisReferenceExpression.cs index 4eb91600e..e105d6008 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThisReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThisReferenceExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// this /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ThisReferenceExpression : Expression { public TextLocation Location { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThrowExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThrowExpression.cs index 4a3db6ac0..9810e6466 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThrowExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThrowExpression.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// throw Expression /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ThrowExpression : Expression { public static readonly TokenRole ThrowKeywordRole = ThrowStatement.ThrowKeywordRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TupleExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TupleExpression.cs index 4840266c0..c9d21a0b2 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TupleExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TupleExpression.cs @@ -20,7 +20,7 @@ using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class TupleExpression : Expression { public AstNodeCollection Elements { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeOfExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeOfExpression.cs index 02ec435ef..230691a83 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeOfExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeOfExpression.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// typeof(Type) /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class TypeOfExpression : Expression { public readonly static TokenRole TypeofKeywordRole = new TokenRole("typeof"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeReferenceExpression.cs index 5395e3665..12bb73297 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeReferenceExpression.cs @@ -23,7 +23,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// Represents an AstType as an expression. /// This is used when calling a method on a primitive type: "int.Parse()" /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class TypeReferenceExpression : Expression { public AstType Type { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UnaryOperatorExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UnaryOperatorExpression.cs index 71ce2714a..ae06ee368 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UnaryOperatorExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UnaryOperatorExpression.cs @@ -32,7 +32,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Operator Expression /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class UnaryOperatorExpression : Expression { public readonly static TokenRole NotRole = new TokenRole("!"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UncheckedExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UncheckedExpression.cs index 1ff20d9a0..5261ad54e 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UncheckedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UncheckedExpression.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// unchecked(Expression) /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class UncheckedExpression : Expression { public readonly static TokenRole UncheckedKeywordRole = new TokenRole("unchecked"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UndocumentedExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UndocumentedExpression.cs index 31d6c1528..1f127e816 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UndocumentedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UndocumentedExpression.cs @@ -39,7 +39,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Represents undocumented expressions. /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class UndocumentedExpression : Expression { public readonly static TokenRole ArglistKeywordRole = new TokenRole("__arglist"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/WithInitializerExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/WithInitializerExpression.cs index b616f3f06..3a7fd75ea 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/WithInitializerExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/WithInitializerExpression.cs @@ -23,7 +23,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Expression with Initializer /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class WithInitializerExpression : Expression { public readonly static TokenRole WithKeywordRole = new TokenRole("with"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/FunctionPointerAstType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/FunctionPointerAstType.cs index 71dca2f48..b75a39807 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/FunctionPointerAstType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/FunctionPointerAstType.cs @@ -31,7 +31,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class FunctionPointerAstType : AstType { public static readonly TokenRole PointerRole = new TokenRole("*"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Attribute.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Attribute.cs index c7b4e7617..6a7e780c0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Attribute.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Attribute.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Attribute(Arguments) /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class Attribute : AstNode { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/AttributeSection.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/AttributeSection.cs index 26113d93c..be9928e4f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/AttributeSection.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/AttributeSection.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [AttributeTarget: Attributes] /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class AttributeSection : AstNode { #region PatternPlaceholder diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Comment.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Comment.cs index d9d00f958..d14628202 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Comment.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Comment.cs @@ -51,7 +51,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax MultiLineDocumentation } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class Comment : AstNode { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Constraint.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Constraint.cs index 9111b74a1..1f88c072e 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Constraint.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Constraint.cs @@ -33,7 +33,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// new(), struct and class constraints are represented using a PrimitiveType "new", "struct" or "class" /// - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class Constraint : AstNode { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/DelegateDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/DelegateDeclaration.cs index 975e461e3..0ddf262c7 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/DelegateDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/DelegateDeclaration.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// delegate ReturnType Name<TypeParameters>(Parameters) where Constraints; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class DelegateDeclaration : EntityDeclaration { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/ExternAliasDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/ExternAliasDeclaration.cs index a1031ce48..8c21fc39e 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/ExternAliasDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/ExternAliasDeclaration.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// extern alias IDENTIFIER; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ExternAliasDeclaration : AstNode { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/NamespaceDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/NamespaceDeclaration.cs index 5446cadc7..34b1590c0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/NamespaceDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/NamespaceDeclaration.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// namespace Name { Members } /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class NamespaceDeclaration : AstNode { public static readonly Role MemberRole = SyntaxTree.MemberRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/PreProcessorDirective.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/PreProcessorDirective.cs index 05170720f..81a850fed 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/PreProcessorDirective.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/PreProcessorDirective.cs @@ -46,7 +46,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax Line = 12 } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class LinePreprocessorDirective : PreProcessorDirective { public int LineNumber { @@ -68,7 +68,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class PragmaWarningPreprocessorDirective : PreProcessorDirective { public static readonly Role WarningRole = new Role("Warning", null); @@ -127,7 +127,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class PreProcessorDirective : AstNode { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeDeclaration.cs index 6d2e99d5c..7c90d7294 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeDeclaration.cs @@ -47,7 +47,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// class Name<TypeParameters> : BaseTypes where Constraints; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class TypeDeclaration : EntityDeclaration { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeParameterDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeParameterDeclaration.cs index 8c5305c48..4f65c7d55 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeParameterDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeParameterDeclaration.cs @@ -27,7 +27,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// Note: mirroring the C# syntax, constraints are not part of the type parameter declaration, but belong /// to the parent type or method. /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class TypeParameterDeclaration : AstNode { public static readonly Role AttributeRole = EntityDeclaration.AttributeRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingAliasDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingAliasDeclaration.cs index 9f1668526..12a69b56a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingAliasDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingAliasDeclaration.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// using Alias = Import; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class UsingAliasDeclaration : AstNode { public static readonly TokenRole UsingKeywordRole = new TokenRole("using"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingDeclaration.cs index bd978ca3d..f0cbacf54 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingDeclaration.cs @@ -32,7 +32,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// using Import; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class UsingDeclaration : AstNode { public static readonly TokenRole UsingKeywordRole = new TokenRole("using"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Identifier.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Identifier.cs index 887a1ca42..8d884f470 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Identifier.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Identifier.cs @@ -28,7 +28,7 @@ using System; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class Identifier : AstNode { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/InvocationAstType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/InvocationAstType.cs index 7c19e40f8..c83d314c6 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/InvocationAstType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/InvocationAstType.cs @@ -27,7 +27,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// BaseType "(" Argument { "," Argument } ")" /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class InvocationAstType : AstType { public AstNodeCollection Arguments { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/MemberType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/MemberType.cs index a72d94e6b..bcb46d976 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/MemberType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/MemberType.cs @@ -32,7 +32,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class MemberType : AstType { public static readonly Role TargetRole = new Role("Target", AstType.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/PrimitiveType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/PrimitiveType.cs index 2e1e54cf0..fa600eee6 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/PrimitiveType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/PrimitiveType.cs @@ -33,7 +33,7 @@ using ICSharpCode.Decompiler.TypeSystem.Implementation; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class PrimitiveType : AstType { TextLocation location; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/SimpleType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/SimpleType.cs index 6b8ac0c0b..b86342ddd 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/SimpleType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/SimpleType.cs @@ -32,7 +32,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class SimpleType : AstType { public SimpleType() diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BlockStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BlockStatement.cs index 98b8cfbc3..032bcb7e5 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BlockStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BlockStatement.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// { Statements } /// - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class BlockStatement : Statement, IEnumerable { public static readonly Role StatementRole = new Role("Statement", Statement.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BreakStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BreakStatement.cs index 89f96a886..8bb7127e5 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BreakStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BreakStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// break; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class BreakStatement : Statement { public static readonly TokenRole BreakKeywordRole = new TokenRole("break"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/CheckedStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/CheckedStatement.cs index e70642fc3..286301d90 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/CheckedStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/CheckedStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// checked BodyBlock /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class CheckedStatement : Statement { public static readonly TokenRole CheckedKeywordRole = new TokenRole("checked"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ContinueStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ContinueStatement.cs index 9d955f833..8d2011abf 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ContinueStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ContinueStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// continue; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ContinueStatement : Statement { public static readonly TokenRole ContinueKeywordRole = new TokenRole("continue"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/DoWhileStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/DoWhileStatement.cs index ab90c2022..59a6e43aa 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/DoWhileStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/DoWhileStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// "do EmbeddedStatement while(Condition);" /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class DoWhileStatement : Statement { public static readonly TokenRole DoKeywordRole = new TokenRole("do"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/EmptyStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/EmptyStatement.cs index c1f5e0e18..41168a8e0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/EmptyStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/EmptyStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// ; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class EmptyStatement : Statement { public TextLocation Location { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ExpressionStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ExpressionStatement.cs index f62adb0b4..f5149d576 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ExpressionStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ExpressionStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Expression; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ExpressionStatement : Statement { public Expression Expression { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/FixedStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/FixedStatement.cs index 6f0b7f0d3..76abd6c0c 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/FixedStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/FixedStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// fixed (Type Variables) EmbeddedStatement /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class FixedStatement : Statement { public static readonly TokenRole FixedKeywordRole = new TokenRole("fixed"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForStatement.cs index 564099a28..030a59dc8 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// for (Initializers; Condition; Iterators) EmbeddedStatement /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ForStatement : Statement { public static readonly TokenRole ForKeywordRole = new TokenRole("for"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForeachStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForeachStatement.cs index 52bf294fe..4abb0a936 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForeachStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForeachStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// foreach (Type VariableName in InExpression) EmbeddedStatement /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ForeachStatement : Statement { public static readonly TokenRole AwaitRole = UnaryOperatorExpression.AwaitRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/GotoStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/GotoStatement.cs index 4a8edede1..0f9b373f1 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/GotoStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/GotoStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// "goto Label;" /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class GotoStatement : Statement { public static readonly TokenRole GotoKeywordRole = new TokenRole("goto"); @@ -89,7 +89,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// or "goto case LabelExpression;" /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class GotoCaseStatement : Statement { public static readonly TokenRole GotoKeywordRole = new TokenRole("goto"); @@ -140,7 +140,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// or "goto default;" /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class GotoDefaultStatement : Statement { public static readonly TokenRole GotoKeywordRole = new TokenRole("goto"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/IfElseStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/IfElseStatement.cs index 983edb058..dd85ad91d 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/IfElseStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/IfElseStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// if (Condition) TrueStatement else FalseStatement /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class IfElseStatement : Statement { public readonly static TokenRole IfKeywordRole = new TokenRole("if"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LabelStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LabelStatement.cs index fe95941c3..d9b34f059 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LabelStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LabelStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Label: /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class LabelStatement : Statement { public string Label { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LocalFunctionDeclarationStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LocalFunctionDeclarationStatement.cs index e98b7afd1..20b8939fc 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LocalFunctionDeclarationStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LocalFunctionDeclarationStatement.cs @@ -20,7 +20,7 @@ using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class LocalFunctionDeclarationStatement : Statement { public static readonly Role MethodDeclarationRole = new Role("Method", null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LockStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LockStatement.cs index fc3ccc4a8..d6defd83f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LockStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LockStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// lock (Expression) EmbeddedStatement; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class LockStatement : Statement { public static readonly TokenRole LockKeywordRole = new TokenRole("lock"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ReturnStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ReturnStatement.cs index d16609501..a68c96b32 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ReturnStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ReturnStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// return Expression; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ReturnStatement : Statement { public static readonly TokenRole ReturnKeywordRole = new TokenRole("return"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/Statement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/Statement.cs index 8bc13c65f..7767a5590 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/Statement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/Statement.cs @@ -27,7 +27,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// This class is useful even though it doesn't provide any additional functionality: /// It can be used to communicate more information in APIs, e.g. "this subnode will always be a statement" /// - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public abstract partial class Statement : AstNode { #region PatternPlaceholder diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/SwitchStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/SwitchStatement.cs index ce0a1b358..cc40c653d 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/SwitchStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/SwitchStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// switch (Expression) { SwitchSections } /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class SwitchStatement : Statement { public static readonly TokenRole SwitchKeywordRole = new TokenRole("switch"); @@ -87,7 +87,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class SwitchSection : AstNode { #region PatternPlaceholder @@ -174,7 +174,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class CaseLabel : AstNode { public static readonly TokenRole CaseKeywordRole = new TokenRole("case"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ThrowStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ThrowStatement.cs index 9f6b9b846..e5f19aef9 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ThrowStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ThrowStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// throw Expression; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ThrowStatement : Statement { public static readonly TokenRole ThrowKeywordRole = new TokenRole("throw"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/TryCatchStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/TryCatchStatement.cs index 534d2de11..b6ae5db04 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/TryCatchStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/TryCatchStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// try TryBlock CatchClauses finally FinallyBlock /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class TryCatchStatement : Statement { public static readonly TokenRole TryKeywordRole = new TokenRole("try"); @@ -86,7 +86,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// catch (Type VariableName) { Body } /// - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class CatchClause : AstNode { public static readonly TokenRole CatchKeywordRole = new TokenRole("catch"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UncheckedStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UncheckedStatement.cs index a74cf056b..5f5197bbf 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UncheckedStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UncheckedStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// unchecked BodyBlock /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class UncheckedStatement : Statement { public static readonly TokenRole UncheckedKeywordRole = new TokenRole("unchecked"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UnsafeStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UnsafeStatement.cs index db4dc067a..d0b5a7a72 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UnsafeStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UnsafeStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// unsafe { Body } /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class UnsafeStatement : Statement { public static readonly TokenRole UnsafeKeywordRole = new TokenRole("unsafe"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UsingStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UsingStatement.cs index 45c0d5369..d900c3a22 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UsingStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UsingStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [ await ] using (ResourceAcquisition) EmbeddedStatement /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class UsingStatement : Statement { public static readonly TokenRole UsingKeywordRole = new TokenRole("using"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/VariableDeclarationStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/VariableDeclarationStatement.cs index 8d4daa5b0..b9ed5d164 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/VariableDeclarationStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/VariableDeclarationStatement.cs @@ -27,7 +27,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class VariableDeclarationStatement : Statement { public static readonly Role ModifierRole = EntityDeclaration.ModifierRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/WhileStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/WhileStatement.cs index 33d01c4a9..8bdcd5f25 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/WhileStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/WhileStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// "while (Condition) EmbeddedStatement" /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class WhileStatement : Statement { public static readonly TokenRole WhileKeywordRole = new TokenRole("while"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldBreakStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldBreakStatement.cs index 96cec086b..5a45f6d3f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldBreakStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldBreakStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// yield break; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class YieldBreakStatement : Statement { public static readonly TokenRole YieldKeywordRole = new TokenRole("yield"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldReturnStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldReturnStatement.cs index d562f1859..fa25ddbe1 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldReturnStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldReturnStatement.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// yield return Expression; /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class YieldReturnStatement : Statement { public static readonly TokenRole YieldKeywordRole = new TokenRole("yield"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/SyntaxTree.cs b/ICSharpCode.Decompiler/CSharp/Syntax/SyntaxTree.cs index 1187e8e4e..bde54a30b 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/SyntaxTree.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/SyntaxTree.cs @@ -30,7 +30,7 @@ using ICSharpCode.Decompiler.Util; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class SyntaxTree : AstNode { public static readonly Role MemberRole = new Role("Member", AstNode.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TupleAstType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TupleAstType.cs index 73fcb8e8d..fcdaacc64 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TupleAstType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TupleAstType.cs @@ -25,7 +25,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class TupleAstType : AstType { public static readonly Role ElementRole = new Role("Element", TupleTypeElement.Null); @@ -63,7 +63,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class TupleTypeElement : AstNode { public AstType Type { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/Accessor.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/Accessor.cs index 2d76d17a2..d7197858c 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/Accessor.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/Accessor.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// get/set/init/add/remove /// - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class Accessor : EntityDeclaration { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ConstructorDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ConstructorDeclaration.cs index 7456972cb..883e6cf68 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ConstructorDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ConstructorDeclaration.cs @@ -28,7 +28,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ConstructorDeclaration : EntityDeclaration { public static readonly Role InitializerRole = new Role("Initializer", ConstructorInitializer.Null); @@ -93,7 +93,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax This } - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class ConstructorInitializer : AstNode { public static readonly TokenRole BaseKeywordRole = new TokenRole("base"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/DestructorDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/DestructorDeclaration.cs index d43276938..ac3657e59 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/DestructorDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/DestructorDeclaration.cs @@ -28,7 +28,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class DestructorDeclaration : EntityDeclaration { public static readonly TokenRole TildeRole = new TokenRole("~"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EnumMemberDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EnumMemberDeclaration.cs index a3726e150..ab6f0e3c1 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EnumMemberDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EnumMemberDeclaration.cs @@ -28,7 +28,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class EnumMemberDeclaration : EntityDeclaration { public static readonly Role InitializerRole = new Role("Initializer", Expression.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EventDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EventDeclaration.cs index 24a752831..0a5bc1b50 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EventDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EventDeclaration.cs @@ -31,7 +31,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class EventDeclaration : EntityDeclaration { public static readonly TokenRole EventKeywordRole = new TokenRole("event"); @@ -85,7 +85,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class CustomEventDeclaration : EntityDeclaration { public static readonly TokenRole EventKeywordRole = new TokenRole("event"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FieldDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FieldDeclaration.cs index 553b241bf..840743e82 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FieldDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FieldDeclaration.cs @@ -31,7 +31,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class FieldDeclaration : EntityDeclaration { public override SymbolKind SymbolKind { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedFieldDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedFieldDeclaration.cs index 9694d54fa..1ed741e24 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedFieldDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedFieldDeclaration.cs @@ -27,7 +27,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class FixedFieldDeclaration : EntityDeclaration { public static readonly TokenRole FixedKeywordRole = new TokenRole("fixed"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedVariableInitializer.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedVariableInitializer.cs index 8fe3fc4b5..08b9938cd 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedVariableInitializer.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedVariableInitializer.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Name [ CountExpression ] /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class FixedVariableInitializer : AstNode { public override NodeType NodeType { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/IndexerDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/IndexerDeclaration.cs index ead89ba5e..c3ad4ea6c 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/IndexerDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/IndexerDeclaration.cs @@ -31,7 +31,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class IndexerDeclaration : EntityDeclaration { public static readonly TokenRole ThisKeywordRole = new TokenRole("this"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/MethodDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/MethodDeclaration.cs index 27d213f81..0c3fc1149 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/MethodDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/MethodDeclaration.cs @@ -28,7 +28,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class MethodDeclaration : EntityDeclaration { public override SymbolKind SymbolKind { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/OperatorDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/OperatorDeclaration.cs index 7694d05f4..85719e5b7 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/OperatorDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/OperatorDeclaration.cs @@ -76,7 +76,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax CheckedExplicit } - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class OperatorDeclaration : EntityDeclaration { public static readonly TokenRole OperatorKeywordRole = new TokenRole("operator"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ParameterDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ParameterDeclaration.cs index fe1eb1ade..3394aa94d 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ParameterDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ParameterDeclaration.cs @@ -30,7 +30,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ParameterDeclaration : AstNode { public static readonly Role AttributeRole = EntityDeclaration.AttributeRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/PropertyDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/PropertyDeclaration.cs index f4e5d8ddc..daa35edb0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/PropertyDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/PropertyDeclaration.cs @@ -28,7 +28,7 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class PropertyDeclaration : EntityDeclaration { public static readonly TokenRole GetKeywordRole = new TokenRole("get"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/VariableInitializer.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/VariableInitializer.cs index 626c4c03d..efdb31317 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/VariableInitializer.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/VariableInitializer.cs @@ -27,7 +27,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public partial class VariableInitializer : AstNode { #region PatternPlaceholder diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/VariableDesignation.cs b/ICSharpCode.Decompiler/CSharp/Syntax/VariableDesignation.cs index 2292a6094..2fa76e8c7 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/VariableDesignation.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/VariableDesignation.cs @@ -20,7 +20,7 @@ using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - [DecompilerAstNode(true)] + [DecompilerAstNode(hasNullNode: true)] public abstract partial class VariableDesignation : AstNode { public override NodeType NodeType => NodeType.Unknown; @@ -29,7 +29,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Identifier /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class SingleVariableDesignation : VariableDesignation { public string Identifier { @@ -66,7 +66,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// ( VariableDesignation (, VariableDesignation)* ) /// - [DecompilerAstNode(false)] + [DecompilerAstNode(hasNullNode: false)] public partial class ParenthesizedVariableDesignation : VariableDesignation {