diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/AstNode.cs b/ICSharpCode.Decompiler/CSharp/Syntax/AstNode.cs index b11edf399..3707b0c4b 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/AstNode.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/AstNode.cs @@ -37,7 +37,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public abstract class AstNode : AbstractAnnotatable, IFreezable, INode, ICloneable + [DecompilerAstNode(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 internal static readonly Role RootRole = new Role("Root", null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/AstType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/AstType.cs index a8b8da53a..7734bc98d 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/AstType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/AstType.cs @@ -28,7 +28,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// A type reference in the C# AST. /// - public abstract class AstType : AstNode + [DecompilerAstNode(true)] + public abstract partial class AstType : AstNode { #region Null public new static readonly AstType Null = new NullAstType(); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/CSharpModifierToken.cs b/ICSharpCode.Decompiler/CSharp/Syntax/CSharpModifierToken.cs index fbe31464d..6ca9ce12d 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/CSharpModifierToken.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/CSharpModifierToken.cs @@ -31,7 +31,8 @@ using ICSharpCode.Decompiler.CSharp.OutputVisitor; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class CSharpModifierToken : CSharpTokenNode + [DecompilerAstNode(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 6bbf8a546..e12b2ce4c 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/CSharpTokenNode.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/CSharpTokenNode.cs @@ -34,7 +34,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// In all non null c# token nodes the Role of a CSharpToken must be a TokenRole. /// - public class CSharpTokenNode : AstNode + [DecompilerAstNode(true)] + public partial class CSharpTokenNode : AstNode { public static new readonly CSharpTokenNode Null = new NullCSharpTokenNode(); class NullCSharpTokenNode : CSharpTokenNode diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/ComposedType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/ComposedType.cs index c042a2ca9..70650fbc7 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/ComposedType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/ComposedType.cs @@ -34,7 +34,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class ComposedType : AstType + [DecompilerAstNode(false)] + public partial class ComposedType : AstType { public static readonly Role AttributeRole = EntityDeclaration.AttributeRole; public static readonly TokenRole RefRole = new TokenRole("ref"); @@ -230,7 +231,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [,,,] /// - public class ArraySpecifier : AstNode + [DecompilerAstNode(false)] + public partial class ArraySpecifier : AstNode { public override NodeType NodeType { get { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/DocumentationReference.cs b/ICSharpCode.Decompiler/CSharp/Syntax/DocumentationReference.cs index 893f015fc..44af88489 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/DocumentationReference.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/DocumentationReference.cs @@ -23,7 +23,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Represents a 'cref' reference in XML documentation. /// - public class DocumentationReference : AstNode + [DecompilerAstNode(false)] + public partial class DocumentationReference : AstNode { public static readonly Role DeclaringTypeRole = new Role("DeclaringType", AstType.Null); public static readonly Role ConversionOperatorReturnTypeRole = new Role("ConversionOperatorReturnType", AstType.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousMethodExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousMethodExpression.cs index 633073b36..30c52c986 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousMethodExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousMethodExpression.cs @@ -32,7 +32,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [async] delegate(Parameters) {Body} /// - public class AnonymousMethodExpression : Expression + [DecompilerAstNode(false)] + public partial class AnonymousMethodExpression : Expression { public readonly static TokenRole DelegateKeywordRole = new TokenRole("delegate"); public readonly static TokenRole AsyncModifierRole = LambdaExpression.AsyncModifierRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousTypeCreateExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousTypeCreateExpression.cs index e74e2e1af..c2793c3f8 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousTypeCreateExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AnonymousTypeCreateExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// new { [ExpressionList] } /// - public class AnonymousTypeCreateExpression : Expression + [DecompilerAstNode(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 e4314f001..84d583916 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayCreateExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayCreateExpression.cs @@ -22,7 +22,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// new Type[Dimensions] /// - public class ArrayCreateExpression : Expression + [DecompilerAstNode(false)] + public partial class ArrayCreateExpression : Expression { public readonly static TokenRole NewKeywordRole = new TokenRole("new"); public readonly static Role AdditionalArraySpecifierRole = new Role("AdditionalArraySpecifier", null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs index f9ce09152..0765cbabd 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// { Elements } /// - public class ArrayInitializerExpression : Expression + [DecompilerAstNode(true)] + public partial class ArrayInitializerExpression : Expression { /// /// For ease of use purposes in the resolver the ast representation diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AsExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AsExpression.cs index b01fd4f86..06c64f84c 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AsExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AsExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Expression as TypeReference /// - public class AsExpression : Expression + [DecompilerAstNode(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 378b33bfa..af6ac366a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AssignmentExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/AssignmentExpression.cs @@ -33,7 +33,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Left Operator= Right /// - public class AssignmentExpression : Expression + [DecompilerAstNode(false)] + public partial class AssignmentExpression : Expression { // reuse roles from BinaryOperatorExpression public readonly static Role LeftRole = BinaryOperatorExpression.LeftRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BaseReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BaseReferenceExpression.cs index 5084d0e04..48bab380f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BaseReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BaseReferenceExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// base /// - public class BaseReferenceExpression : Expression + [DecompilerAstNode(false)] + public partial class BaseReferenceExpression : Expression { public TextLocation Location { get; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BinaryOperatorExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BinaryOperatorExpression.cs index 1386e1029..09e414199 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BinaryOperatorExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/BinaryOperatorExpression.cs @@ -32,7 +32,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Left Operator Right /// - public class BinaryOperatorExpression : Expression + [DecompilerAstNode(false)] + public partial class BinaryOperatorExpression : Expression { public readonly static TokenRole BitwiseAndRole = new TokenRole("&"); public readonly static TokenRole BitwiseOrRole = new TokenRole("|"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CastExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CastExpression.cs index f3bd22ec2..670154e06 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CastExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CastExpression.cs @@ -23,14 +23,13 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System.Collections.Generic; - namespace ICSharpCode.Decompiler.CSharp.Syntax { /// /// (CastTo)Expression /// - public class CastExpression : Expression + [DecompilerAstNode(false)] + public partial class CastExpression : Expression { public CSharpTokenNode LParToken { get { return GetChildByRole(Roles.LPar); } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CheckedExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CheckedExpression.cs index baff6c51a..098f1d44f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CheckedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/CheckedExpression.cs @@ -24,13 +24,13 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. - namespace ICSharpCode.Decompiler.CSharp.Syntax { /// /// checked(Expression) /// - public class CheckedExpression : Expression + [DecompilerAstNode(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 a1576e5cc..33ff6906f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ConditionalExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ConditionalExpression.cs @@ -23,14 +23,13 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System.Collections.Generic; - namespace ICSharpCode.Decompiler.CSharp.Syntax { /// /// Condition ? TrueExpression : FalseExpression /// - public class ConditionalExpression : Expression + [DecompilerAstNode(false)] + public partial class ConditionalExpression : Expression { public readonly static Role ConditionRole = Roles.Condition; public readonly static TokenRole QuestionMarkRole = new TokenRole("?"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DeclarationExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DeclarationExpression.cs index 558456524..5254405fb 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DeclarationExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DeclarationExpression.cs @@ -23,7 +23,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// TypeName VariableDesignation /// - public class DeclarationExpression : Expression + [DecompilerAstNode(false)] + public partial class DeclarationExpression : Expression { public AstType Type { get { return GetChildByRole(Roles.Type); } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DecompilerAstNodeAttribute.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DecompilerAstNodeAttribute.cs new file mode 100644 index 000000000..a0dd2b2ae --- /dev/null +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DecompilerAstNodeAttribute.cs @@ -0,0 +1,30 @@ +// Copyright (c) 2017 Siegfried Pammer +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of this +// software and associated documentation files (the "Software"), to deal in the Software +// without restriction, including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all copies or +// substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. + + + + + + + +namespace ICSharpCode.Decompiler.CSharp.Syntax +{ + class DecompilerAstNodeAttribute : System.Attribute + { + } +} \ No newline at end of file diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DefaultValueExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DefaultValueExpression.cs index 372325a40..b11368059 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DefaultValueExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DefaultValueExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// default(Type) /// - public class DefaultValueExpression : Expression + [DecompilerAstNode(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 e92115530..f675384ac 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DirectionExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/DirectionExpression.cs @@ -38,7 +38,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// ref Expression /// - public class DirectionExpression : Expression + [DecompilerAstNode(false)] + public partial class DirectionExpression : Expression { public readonly static TokenRole RefKeywordRole = new TokenRole("ref"); public readonly static TokenRole OutKeywordRole = new TokenRole("out"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ErrorExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ErrorExpression.cs index 89f9fcfdd..4314e12db 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ErrorExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ErrorExpression.cs @@ -23,11 +23,10 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System; - namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class ErrorExpression : Expression + [DecompilerAstNode(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 c5d73352e..d48092512 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/Expression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/Expression.cs @@ -28,7 +28,8 @@ 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" /// - public abstract class Expression : AstNode + [DecompilerAstNode(true)] + public abstract partial class Expression : AstNode { #region Null public new static readonly Expression Null = new NullExpression(); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IdentifierExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IdentifierExpression.cs index 76fc8c2a5..45d7a2694 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IdentifierExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IdentifierExpression.cs @@ -26,7 +26,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class IdentifierExpression : Expression + [DecompilerAstNode(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 e688b2a74..5d083c0b7 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IndexerExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IndexerExpression.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Target[Arguments] /// - public class IndexerExpression : Expression + [DecompilerAstNode(false)] + public partial class IndexerExpression : Expression { public Expression Target { get { return GetChildByRole(Roles.TargetExpression); } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InterpolatedStringExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InterpolatedStringExpression.cs index 562755a0a..96f3c987b 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InterpolatedStringExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InterpolatedStringExpression.cs @@ -6,7 +6,8 @@ using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class InterpolatedStringExpression : Expression + [DecompilerAstNode(false)] + public partial class InterpolatedStringExpression : Expression { public static readonly TokenRole OpenQuote = new TokenRole("$\""); public static readonly TokenRole CloseQuote = new TokenRole("\""); @@ -47,7 +48,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public abstract class InterpolatedStringContent : AstNode + [DecompilerAstNode(true)] + public abstract partial class InterpolatedStringContent : AstNode { #region Null public new static readonly InterpolatedStringContent Null = new NullInterpolatedStringContent(); @@ -90,7 +92,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// { Expression , Alignment : Suffix } /// - public class Interpolation : InterpolatedStringContent + [DecompilerAstNode(false)] + public partial class Interpolation : InterpolatedStringContent { public static readonly TokenRole LBrace = new TokenRole("{"); public static readonly TokenRole RBrace = new TokenRole("}"); @@ -146,7 +149,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class InterpolatedStringText : InterpolatedStringContent + [DecompilerAstNode(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 3ed91cefc..3e5804fe6 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InvocationExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/InvocationExpression.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Target(Arguments) /// - public class InvocationExpression : Expression + [DecompilerAstNode(false)] + public partial class InvocationExpression : Expression { public Expression Target { get { return GetChildByRole(Roles.TargetExpression); } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IsExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IsExpression.cs index fa1bea0bc..158e709fc 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IsExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/IsExpression.cs @@ -23,14 +23,13 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System.Collections.Generic; - namespace ICSharpCode.Decompiler.CSharp.Syntax { /// /// Expression is Type /// - public class IsExpression : Expression + [DecompilerAstNode(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 8782aa1d8..ca5e8724a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/LambdaExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/LambdaExpression.cs @@ -29,7 +29,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [async] Parameters => Body /// - public class LambdaExpression : Expression + [DecompilerAstNode(false)] + public partial class LambdaExpression : Expression { public static readonly Role AttributeRole = new Role("Attribute", null); public readonly static TokenRole AsyncModifierRole = new TokenRole("async"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/MemberReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/MemberReferenceExpression.cs index fcda03b54..a816a4322 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/MemberReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/MemberReferenceExpression.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Target.MemberName /// - public class MemberReferenceExpression : Expression + [DecompilerAstNode(false)] + public partial class MemberReferenceExpression : Expression { public Expression Target { get { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedArgumentExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedArgumentExpression.cs index 5f3fb3627..c1121f03a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedArgumentExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedArgumentExpression.cs @@ -23,7 +23,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// Represents a named argument passed to a method or attribute. /// name: expression /// - public class NamedArgumentExpression : Expression + [DecompilerAstNode(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 d8fe23df8..64438c19a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NamedExpression.cs @@ -32,7 +32,8 @@ 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)]. /// - public class NamedExpression : Expression + [DecompilerAstNode(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 ee67fb20f..c2f2bbaa1 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NullReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/NullReferenceExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// null /// - public class NullReferenceExpression : Expression + [DecompilerAstNode(false)] + public partial class NullReferenceExpression : Expression { TextLocation location; public override TextLocation StartLocation { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ObjectCreateExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ObjectCreateExpression.cs index f559f6a89..4729341f0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ObjectCreateExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ObjectCreateExpression.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// new Type(Arguments) { Initializer } /// - public class ObjectCreateExpression : Expression + [DecompilerAstNode(false)] + public partial class ObjectCreateExpression : Expression { public readonly static TokenRole NewKeywordRole = new TokenRole("new"); public readonly static Role InitializerRole = ArrayCreateExpression.InitializerRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/OutVarDeclarationExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/OutVarDeclarationExpression.cs index 022987e80..70cc5f21b 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/OutVarDeclarationExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/OutVarDeclarationExpression.cs @@ -21,7 +21,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// out type expression /// - public class OutVarDeclarationExpression : Expression + [DecompilerAstNode(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 b662ab3d4..f08490a0a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ParenthesizedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ParenthesizedExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// ( Expression ) /// - public class ParenthesizedExpression : Expression + [DecompilerAstNode(false)] + public partial class ParenthesizedExpression : Expression { public CSharpTokenNode LParToken { get { return GetChildByRole(Roles.LPar); } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PointerReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PointerReferenceExpression.cs index d678cdaf8..1aa8f5592 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PointerReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PointerReferenceExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Target->MemberName /// - public class PointerReferenceExpression : Expression + [DecompilerAstNode(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 a1e8fcc3b..ddf82ffc0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PrimitiveExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/PrimitiveExpression.cs @@ -24,8 +24,6 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System; - using ICSharpCode.Decompiler.Util; namespace ICSharpCode.Decompiler.CSharp.Syntax @@ -48,7 +46,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Represents a literal value. /// - public class PrimitiveExpression : Expression + [DecompilerAstNode(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 87315b01f..1c9ba8f5a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/QueryExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/QueryExpression.cs @@ -18,7 +18,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class QueryExpression : Expression + [DecompilerAstNode(true)] + public partial class QueryExpression : Expression { public static readonly Role ClauseRole = new Role("Clause", null); @@ -106,7 +107,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// new QuerySelectClause(e) /// } /// - public class QueryContinuationClause : QueryClause + [DecompilerAstNode(false)] + public partial class QueryContinuationClause : QueryClause { public static readonly Role PrecedingQueryRole = new Role("PrecedingQuery", QueryExpression.Null); public static readonly TokenRole IntoKeywordRole = new TokenRole("into"); @@ -155,7 +157,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class QueryFromClause : QueryClause + [DecompilerAstNode(false)] + public partial class QueryFromClause : QueryClause { public static readonly TokenRole FromKeywordRole = new TokenRole("from"); public static readonly TokenRole InKeywordRole = new TokenRole("in"); @@ -214,7 +217,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class QueryLetClause : QueryClause + [DecompilerAstNode(false)] + public partial class QueryLetClause : QueryClause { public readonly static TokenRole LetKeywordRole = new TokenRole("let"); @@ -267,7 +271,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } - public class QueryWhereClause : QueryClause + [DecompilerAstNode(false)] + public partial class QueryWhereClause : QueryClause { public readonly static TokenRole WhereKeywordRole = new TokenRole("where"); @@ -305,7 +310,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Represents a join or group join clause. /// - public class QueryJoinClause : QueryClause + [DecompilerAstNode(false)] + public partial class QueryJoinClause : QueryClause { public static readonly TokenRole JoinKeywordRole = new TokenRole("join"); public static readonly Role TypeRole = Roles.Type; @@ -415,7 +421,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class QueryOrderClause : QueryClause + [DecompilerAstNode(false)] + public partial class QueryOrderClause : QueryClause { public static readonly TokenRole OrderbyKeywordRole = new TokenRole("orderby"); public static readonly Role OrderingRole = new Role("Ordering", null); @@ -450,7 +457,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class QueryOrdering : AstNode + [DecompilerAstNode(false)] + public partial class QueryOrdering : AstNode { public readonly static TokenRole AscendingKeywordRole = new TokenRole("ascending"); public readonly static TokenRole DescendingKeywordRole = new TokenRole("descending"); @@ -502,7 +510,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax Descending } - public class QuerySelectClause : QueryClause + [DecompilerAstNode(false)] + public partial class QuerySelectClause : QueryClause { public readonly static TokenRole SelectKeywordRole = new TokenRole("select"); @@ -537,7 +546,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class QueryGroupClause : QueryClause + [DecompilerAstNode(false)] + public partial class QueryGroupClause : QueryClause { public static readonly TokenRole GroupKeywordRole = new TokenRole("group"); public static readonly Role ProjectionRole = new Role("Projection", Expression.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/RecursivePatternExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/RecursivePatternExpression.cs index 3a26d735b..f0f7a1d25 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/RecursivePatternExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/RecursivePatternExpression.cs @@ -20,7 +20,8 @@ using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class RecursivePatternExpression : Expression + [DecompilerAstNode(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 b5daa0a9f..6a3acb9c7 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SizeOfExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SizeOfExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// sizeof(Type) /// - public class SizeOfExpression : Expression + [DecompilerAstNode(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 f3c1c9b85..0ea2cdf13 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/StackAllocExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/StackAllocExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// stackalloc Type[Count] /// - public class StackAllocExpression : Expression + [DecompilerAstNode(false)] + public partial class StackAllocExpression : Expression { public readonly static TokenRole StackallocKeywordRole = new TokenRole("stackalloc"); public readonly static Role InitializerRole = new Role("Initializer", ArrayInitializerExpression.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SwitchExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SwitchExpression.cs index ca66a0796..c1af952a0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SwitchExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/SwitchExpression.cs @@ -22,7 +22,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Expression switch { SwitchSections } /// - public class SwitchExpression : Expression + [DecompilerAstNode(false)] + public partial class SwitchExpression : Expression { public static readonly TokenRole SwitchKeywordRole = new TokenRole("switch"); public static readonly Role SwitchSectionRole = new Role("SwitchSection", null); @@ -73,7 +74,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Pattern => Expression /// - public class SwitchExpressionSection : AstNode + [DecompilerAstNode(false)] + public partial class SwitchExpressionSection : AstNode { public static readonly Role PatternRole = new Role("Pattern", Expression.Null); public static readonly Role BodyRole = new Role("Body", Expression.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThisReferenceExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThisReferenceExpression.cs index db61e2dad..4eb91600e 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThisReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThisReferenceExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// this /// - public class ThisReferenceExpression : Expression + [DecompilerAstNode(false)] + public partial class ThisReferenceExpression : Expression { public TextLocation Location { get; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThrowExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThrowExpression.cs index 736d2da6d..4a3db6ac0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThrowExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ThrowExpression.cs @@ -21,7 +21,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// throw Expression /// - public class ThrowExpression : Expression + [DecompilerAstNode(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 143726af4..4840266c0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TupleExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TupleExpression.cs @@ -16,13 +16,12 @@ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -using System; - using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class TupleExpression : Expression + [DecompilerAstNode(false)] + public partial class TupleExpression : Expression { public AstNodeCollection Elements { get { return GetChildrenByRole(Roles.Expression); } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeOfExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeOfExpression.cs index b6605ab63..02ec435ef 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeOfExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeOfExpression.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// typeof(Type) /// - public class TypeOfExpression : Expression + [DecompilerAstNode(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 57c8ea9fa..5395e3665 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeReferenceExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/TypeReferenceExpression.cs @@ -23,7 +23,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// Represents an AstType as an expression. /// This is used when calling a method on a primitive type: "int.Parse()" /// - public class TypeReferenceExpression : Expression + [DecompilerAstNode(false)] + public partial class TypeReferenceExpression : Expression { public AstType Type { get { return GetChildByRole(Roles.Type); } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UnaryOperatorExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UnaryOperatorExpression.cs index 460f9a421..71ce2714a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UnaryOperatorExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UnaryOperatorExpression.cs @@ -32,7 +32,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Operator Expression /// - public class UnaryOperatorExpression : Expression + [DecompilerAstNode(false)] + public partial class UnaryOperatorExpression : Expression { public readonly static TokenRole NotRole = new TokenRole("!"); public readonly static TokenRole BitNotRole = new TokenRole("~"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UncheckedExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UncheckedExpression.cs index aa8160127..1ff20d9a0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UncheckedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UncheckedExpression.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// unchecked(Expression) /// - public class UncheckedExpression : Expression + [DecompilerAstNode(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 7de290d8d..31d6c1528 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UndocumentedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/UndocumentedExpression.cs @@ -39,7 +39,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Represents undocumented expressions. /// - public class UndocumentedExpression : Expression + [DecompilerAstNode(false)] + public partial class UndocumentedExpression : Expression { public readonly static TokenRole ArglistKeywordRole = new TokenRole("__arglist"); public readonly static TokenRole RefvalueKeywordRole = new TokenRole("__refvalue"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/WithInitializerExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/WithInitializerExpression.cs index 809dfb367..b616f3f06 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/WithInitializerExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/WithInitializerExpression.cs @@ -23,7 +23,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Expression with Initializer /// - public class WithInitializerExpression : Expression + [DecompilerAstNode(false)] + public partial class WithInitializerExpression : Expression { public readonly static TokenRole WithKeywordRole = new TokenRole("with"); public readonly static Role InitializerRole = ArrayCreateExpression.InitializerRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/FunctionPointerAstType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/FunctionPointerAstType.cs index 96aee3ee9..71dca2f48 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/FunctionPointerAstType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/FunctionPointerAstType.cs @@ -31,7 +31,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class FunctionPointerAstType : AstType + [DecompilerAstNode(false)] + public partial class FunctionPointerAstType : AstType { public static readonly TokenRole PointerRole = new TokenRole("*"); public static readonly Role CallingConventionRole = new Role("CallConv", AstType.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Attribute.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Attribute.cs index b07bca2b2..c7b4e7617 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Attribute.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Attribute.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Attribute(Arguments) /// - public class Attribute : AstNode + [DecompilerAstNode(false)] + public partial class Attribute : AstNode { public override NodeType NodeType { get { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/AttributeSection.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/AttributeSection.cs index cf8658fe0..26113d93c 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/AttributeSection.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/AttributeSection.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [AttributeTarget: Attributes] /// - public class AttributeSection : AstNode + [DecompilerAstNode(false)] + public partial class AttributeSection : AstNode { #region PatternPlaceholder public static implicit operator AttributeSection(PatternMatching.Pattern pattern) diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Comment.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Comment.cs index b2a84f0ff..d9d00f958 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Comment.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Comment.cs @@ -51,7 +51,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax MultiLineDocumentation } - public class Comment : AstNode + [DecompilerAstNode(false)] + public partial class Comment : AstNode { public override NodeType NodeType { get { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Constraint.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Constraint.cs index 4b0c18618..9111b74a1 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Constraint.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/Constraint.cs @@ -33,7 +33,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// new(), struct and class constraints are represented using a PrimitiveType "new", "struct" or "class" /// - public class Constraint : AstNode + [DecompilerAstNode(true)] + public partial class Constraint : AstNode { public override NodeType NodeType { get { return NodeType.Unknown; } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/DelegateDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/DelegateDeclaration.cs index 0d85f5a59..975e461e3 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/DelegateDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/DelegateDeclaration.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// delegate ReturnType Name<TypeParameters>(Parameters) where Constraints; /// - public class DelegateDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class DelegateDeclaration : EntityDeclaration { public override NodeType NodeType { get { return NodeType.TypeDeclaration; } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/ExternAliasDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/ExternAliasDeclaration.cs index 353e71f2c..a1031ce48 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/ExternAliasDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/ExternAliasDeclaration.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// extern alias IDENTIFIER; /// - public class ExternAliasDeclaration : AstNode + [DecompilerAstNode(false)] + public partial class ExternAliasDeclaration : AstNode { public override NodeType NodeType { get { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/NamespaceDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/NamespaceDeclaration.cs index b41e9f882..5446cadc7 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/NamespaceDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/NamespaceDeclaration.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// namespace Name { Members } /// - public class NamespaceDeclaration : AstNode + [DecompilerAstNode(false)] + public partial class NamespaceDeclaration : AstNode { public static readonly Role MemberRole = SyntaxTree.MemberRole; public static readonly Role NamespaceNameRole = new Role("NamespaceName", AstType.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/PreProcessorDirective.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/PreProcessorDirective.cs index a1b175d1c..05170720f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/PreProcessorDirective.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/PreProcessorDirective.cs @@ -46,7 +46,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax Line = 12 } - public class LinePreprocessorDirective : PreProcessorDirective + [DecompilerAstNode(false)] + public partial class LinePreprocessorDirective : PreProcessorDirective { public int LineNumber { get; @@ -67,7 +68,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class PragmaWarningPreprocessorDirective : PreProcessorDirective + [DecompilerAstNode(false)] + public partial class PragmaWarningPreprocessorDirective : PreProcessorDirective { public static readonly Role WarningRole = new Role("Warning", null); @@ -125,7 +127,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class PreProcessorDirective : AstNode + [DecompilerAstNode(false)] + public partial class PreProcessorDirective : AstNode { public override NodeType NodeType { get { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeDeclaration.cs index a60d12843..6d2e99d5c 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeDeclaration.cs @@ -47,7 +47,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// class Name<TypeParameters> : BaseTypes where Constraints; /// - public class TypeDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class TypeDeclaration : EntityDeclaration { public override NodeType NodeType { get { return NodeType.TypeDeclaration; } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeParameterDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeParameterDeclaration.cs index db5c622cf..8c5305c48 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeParameterDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/TypeParameterDeclaration.cs @@ -27,7 +27,8 @@ 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. /// - public class TypeParameterDeclaration : AstNode + [DecompilerAstNode(false)] + public partial class TypeParameterDeclaration : AstNode { public static readonly Role AttributeRole = EntityDeclaration.AttributeRole; public static readonly TokenRole OutVarianceKeywordRole = new TokenRole("out"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingAliasDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingAliasDeclaration.cs index 1b3ab140f..9f1668526 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingAliasDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingAliasDeclaration.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// using Alias = Import; /// - public class UsingAliasDeclaration : AstNode + [DecompilerAstNode(false)] + public partial class UsingAliasDeclaration : AstNode { public static readonly TokenRole UsingKeywordRole = new TokenRole("using"); public static readonly Role AliasRole = new Role("Alias", Identifier.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingDeclaration.cs index d7246003c..bd978ca3d 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/GeneralScope/UsingDeclaration.cs @@ -32,7 +32,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// using Import; /// - public class UsingDeclaration : AstNode + [DecompilerAstNode(false)] + public partial class UsingDeclaration : AstNode { public static readonly TokenRole UsingKeywordRole = new TokenRole("using"); public static readonly Role ImportRole = new Role("Import", AstType.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Identifier.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Identifier.cs index 726c939fb..e4f1cc784 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Identifier.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Identifier.cs @@ -28,7 +28,8 @@ using System; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class Identifier : AstNode + [DecompilerAstNode(true)] + public partial class Identifier : AstNode { public new static readonly Identifier Null = new NullIdentifier(); sealed class NullIdentifier : Identifier diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/InvocationAstType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/InvocationAstType.cs index 5dddbfb56..7c19e40f8 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/InvocationAstType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/InvocationAstType.cs @@ -17,8 +17,6 @@ // DEALINGS IN THE SOFTWARE. using System; -using System.Collections.Generic; -using System.Text; using ICSharpCode.Decompiler.CSharp.Resolver; using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; @@ -29,7 +27,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// BaseType "(" Argument { "," Argument } ")" /// - public class InvocationAstType : AstType + [DecompilerAstNode(false)] + public partial class InvocationAstType : AstType { public AstNodeCollection Arguments { get { return GetChildrenByRole(Roles.Expression); } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/MemberType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/MemberType.cs index 00abace78..a72d94e6b 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/MemberType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/MemberType.cs @@ -32,7 +32,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class MemberType : AstType + [DecompilerAstNode(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 a6f112542..2e1e54cf0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/PrimitiveType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/PrimitiveType.cs @@ -33,7 +33,8 @@ using ICSharpCode.Decompiler.TypeSystem.Implementation; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class PrimitiveType : AstType + [DecompilerAstNode(false)] + public partial class PrimitiveType : AstType { TextLocation location; string keyword = string.Empty; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/SimpleType.cs b/ICSharpCode.Decompiler/CSharp/Syntax/SimpleType.cs index 17a19e345..0f655465f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/SimpleType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/SimpleType.cs @@ -32,7 +32,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class SimpleType : AstType + [DecompilerAstNode(true)] + public partial class SimpleType : AstType { #region Null public new static readonly SimpleType Null = new NullSimpleType(); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BlockStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BlockStatement.cs index 9965c7af9..5ec485397 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BlockStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BlockStatement.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// { Statements } /// - public class BlockStatement : Statement, IEnumerable + [DecompilerAstNode(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 df8732e81..89f96a886 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BreakStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/BreakStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// break; /// - public class BreakStatement : Statement + [DecompilerAstNode(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 c701dcfc5..e70642fc3 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/CheckedStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/CheckedStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// checked BodyBlock /// - public class CheckedStatement : Statement + [DecompilerAstNode(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 a4b8abacf..9d955f833 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ContinueStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ContinueStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// continue; /// - public class ContinueStatement : Statement + [DecompilerAstNode(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 ce05ff6b6..ab90c2022 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/DoWhileStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/DoWhileStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// "do EmbeddedStatement while(Condition);" /// - public class DoWhileStatement : Statement + [DecompilerAstNode(false)] + public partial class DoWhileStatement : Statement { public static readonly TokenRole DoKeywordRole = new TokenRole("do"); public static readonly TokenRole WhileKeywordRole = new TokenRole("while"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/EmptyStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/EmptyStatement.cs index c76016963..c1f5e0e18 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/EmptyStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/EmptyStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// ; /// - public class EmptyStatement : Statement + [DecompilerAstNode(false)] + public partial class EmptyStatement : Statement { public TextLocation Location { get; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ExpressionStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ExpressionStatement.cs index 5a4f2a413..f62adb0b4 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ExpressionStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ExpressionStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Expression; /// - public class ExpressionStatement : Statement + [DecompilerAstNode(false)] + public partial class ExpressionStatement : Statement { public Expression Expression { get { return GetChildByRole(Roles.Expression); } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/FixedStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/FixedStatement.cs index 3b34ea2fb..6f0b7f0d3 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/FixedStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/FixedStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// fixed (Type Variables) EmbeddedStatement /// - public class FixedStatement : Statement + [DecompilerAstNode(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 91784f0d4..564099a28 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// for (Initializers; Condition; Iterators) EmbeddedStatement /// - public class ForStatement : Statement + [DecompilerAstNode(false)] + public partial class ForStatement : Statement { public static readonly TokenRole ForKeywordRole = new TokenRole("for"); public readonly static Role InitializerRole = new Role("Initializer", Statement.Null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForeachStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForeachStatement.cs index a01bc05de..52bf294fe 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForeachStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ForeachStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// foreach (Type VariableName in InExpression) EmbeddedStatement /// - public class ForeachStatement : Statement + [DecompilerAstNode(false)] + public partial class ForeachStatement : Statement { public static readonly TokenRole AwaitRole = UnaryOperatorExpression.AwaitRole; public static readonly TokenRole ForeachKeywordRole = new TokenRole("foreach"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/GotoStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/GotoStatement.cs index b1b064c01..4a8edede1 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/GotoStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/GotoStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// "goto Label;" /// - public class GotoStatement : Statement + [DecompilerAstNode(false)] + public partial class GotoStatement : Statement { public static readonly TokenRole GotoKeywordRole = new TokenRole("goto"); @@ -88,7 +89,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// or "goto case LabelExpression;" /// - public class GotoCaseStatement : Statement + [DecompilerAstNode(false)] + public partial class GotoCaseStatement : Statement { public static readonly TokenRole GotoKeywordRole = new TokenRole("goto"); public static readonly TokenRole CaseKeywordRole = new TokenRole("case"); @@ -138,7 +140,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// or "goto default;" /// - public class GotoDefaultStatement : Statement + [DecompilerAstNode(false)] + public partial class GotoDefaultStatement : Statement { public static readonly TokenRole GotoKeywordRole = new TokenRole("goto"); public static readonly TokenRole DefaultKeywordRole = new TokenRole("default"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/IfElseStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/IfElseStatement.cs index fece09f10..983edb058 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/IfElseStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/IfElseStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// if (Condition) TrueStatement else FalseStatement /// - public class IfElseStatement : Statement + [DecompilerAstNode(false)] + public partial class IfElseStatement : Statement { public readonly static TokenRole IfKeywordRole = new TokenRole("if"); public readonly static Role ConditionRole = Roles.Condition; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LabelStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LabelStatement.cs index ca56ec478..fe95941c3 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LabelStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LabelStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Label: /// - public class LabelStatement : Statement + [DecompilerAstNode(false)] + public partial class LabelStatement : Statement { public string Label { get { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LocalFunctionDeclarationStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LocalFunctionDeclarationStatement.cs index da2d1550f..e98b7afd1 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LocalFunctionDeclarationStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LocalFunctionDeclarationStatement.cs @@ -20,7 +20,8 @@ using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class LocalFunctionDeclarationStatement : Statement + [DecompilerAstNode(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 a8f25c579..fc3ccc4a8 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LockStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/LockStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// lock (Expression) EmbeddedStatement; /// - public class LockStatement : Statement + [DecompilerAstNode(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 75b96f4fe..d16609501 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ReturnStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ReturnStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// return Expression; /// - public class ReturnStatement : Statement + [DecompilerAstNode(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 b278d1e3f..17910c1e8 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/Statement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/Statement.cs @@ -27,7 +27,8 @@ 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" /// - public abstract class Statement : AstNode + [DecompilerAstNode(true)] + public abstract partial class Statement : AstNode { #region Null public new static readonly Statement Null = new NullStatement(); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/SwitchStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/SwitchStatement.cs index a3412d1c8..ce0a1b358 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/SwitchStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/SwitchStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// switch (Expression) { SwitchSections } /// - public class SwitchStatement : Statement + [DecompilerAstNode(false)] + public partial class SwitchStatement : Statement { public static readonly TokenRole SwitchKeywordRole = new TokenRole("switch"); public static readonly Role SwitchSectionRole = new Role("SwitchSection", null); @@ -86,7 +87,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class SwitchSection : AstNode + [DecompilerAstNode(false)] + public partial class SwitchSection : AstNode { #region PatternPlaceholder public static implicit operator SwitchSection(PatternMatching.Pattern pattern) @@ -172,7 +174,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class CaseLabel : AstNode + [DecompilerAstNode(false)] + public partial class CaseLabel : AstNode { public static readonly TokenRole CaseKeywordRole = new TokenRole("case"); public static readonly TokenRole DefaultKeywordRole = new TokenRole("default"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ThrowStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ThrowStatement.cs index a16d67a34..9f6b9b846 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ThrowStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/ThrowStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// throw Expression; /// - public class ThrowStatement : Statement + [DecompilerAstNode(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 f3ad325bc..2d985057f 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/TryCatchStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/TryCatchStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// try TryBlock CatchClauses finally FinallyBlock /// - public class TryCatchStatement : Statement + [DecompilerAstNode(false)] + public partial class TryCatchStatement : Statement { public static readonly TokenRole TryKeywordRole = new TokenRole("try"); public static readonly Role TryBlockRole = new Role("TryBlock", BlockStatement.Null); @@ -85,7 +86,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// catch (Type VariableName) { Body } /// - public class CatchClause : AstNode + [DecompilerAstNode(true)] + public partial class CatchClause : AstNode { public static readonly TokenRole CatchKeywordRole = new TokenRole("catch"); public static readonly TokenRole WhenKeywordRole = new TokenRole("when"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UncheckedStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UncheckedStatement.cs index f24f7213e..a74cf056b 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UncheckedStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UncheckedStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// unchecked BodyBlock /// - public class UncheckedStatement : Statement + [DecompilerAstNode(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 1a977d5b9..db4dc067a 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UnsafeStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UnsafeStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// unsafe { Body } /// - public class UnsafeStatement : Statement + [DecompilerAstNode(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 33bf9d839..45c0d5369 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UsingStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/UsingStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// [ await ] using (ResourceAcquisition) EmbeddedStatement /// - public class UsingStatement : Statement + [DecompilerAstNode(false)] + public partial class UsingStatement : Statement { public static readonly TokenRole UsingKeywordRole = new TokenRole("using"); public static readonly TokenRole AwaitRole = UnaryOperatorExpression.AwaitRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/VariableDeclarationStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/VariableDeclarationStatement.cs index 1a6066f17..8d4daa5b0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/VariableDeclarationStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/VariableDeclarationStatement.cs @@ -27,7 +27,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class VariableDeclarationStatement : Statement + [DecompilerAstNode(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 3e852e35d..33d01c4a9 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/WhileStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/WhileStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// "while (Condition) EmbeddedStatement" /// - public class WhileStatement : Statement + [DecompilerAstNode(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 4a777afa9..96cec086b 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldBreakStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldBreakStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// yield break; /// - public class YieldBreakStatement : Statement + [DecompilerAstNode(false)] + public partial class YieldBreakStatement : Statement { public static readonly TokenRole YieldKeywordRole = new TokenRole("yield"); public static readonly TokenRole BreakKeywordRole = new TokenRole("break"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldReturnStatement.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldReturnStatement.cs index 235201ab2..d562f1859 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldReturnStatement.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/Statements/YieldReturnStatement.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// yield return Expression; /// - public class YieldReturnStatement : Statement + [DecompilerAstNode(false)] + public partial class YieldReturnStatement : Statement { public static readonly TokenRole YieldKeywordRole = new TokenRole("yield"); public static readonly TokenRole ReturnKeywordRole = new TokenRole("return"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/SyntaxTree.cs b/ICSharpCode.Decompiler/CSharp/Syntax/SyntaxTree.cs index 92e3bb63d..1187e8e4e 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/SyntaxTree.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/SyntaxTree.cs @@ -26,12 +26,12 @@ using System.Collections.Generic; -using ICSharpCode.Decompiler.TypeSystem; using ICSharpCode.Decompiler.Util; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class SyntaxTree : AstNode + [DecompilerAstNode(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 16f5cd4aa..2221d2ecf 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TupleAstType.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TupleAstType.cs @@ -16,7 +16,6 @@ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -using System; using System.Collections.Immutable; using System.Linq; @@ -26,7 +25,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class TupleAstType : AstType + [DecompilerAstNode(false)] + public partial class TupleAstType : AstType { public static readonly Role ElementRole = new Role("Element", TupleTypeElement.Null); @@ -63,7 +63,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class TupleTypeElement : AstNode + [DecompilerAstNode(true)] + public partial class TupleTypeElement : AstNode { #region Null public new static readonly TupleTypeElement Null = new TupleTypeElement(); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/Accessor.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/Accessor.cs index def135ba9..12eeb08af 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/Accessor.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/Accessor.cs @@ -31,7 +31,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// get/set/init/add/remove /// - public class Accessor : EntityDeclaration + [DecompilerAstNode(true)] + public partial class Accessor : EntityDeclaration { public static readonly new Accessor Null = new NullAccessor(); sealed class NullAccessor : Accessor diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ConstructorDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ConstructorDeclaration.cs index 890b77088..a95a66cbb 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ConstructorDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ConstructorDeclaration.cs @@ -28,7 +28,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class ConstructorDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class ConstructorDeclaration : EntityDeclaration { public static readonly Role InitializerRole = new Role("Initializer", ConstructorInitializer.Null); @@ -92,7 +93,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax This } - public class ConstructorInitializer : AstNode + [DecompilerAstNode(true)] + public partial class ConstructorInitializer : AstNode { public static readonly TokenRole BaseKeywordRole = new TokenRole("base"); public static readonly TokenRole ThisKeywordRole = new TokenRole("this"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/DestructorDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/DestructorDeclaration.cs index 5039831ee..d43276938 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/DestructorDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/DestructorDeclaration.cs @@ -28,7 +28,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class DestructorDeclaration : EntityDeclaration + [DecompilerAstNode(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 cbf983454..a3726e150 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EnumMemberDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EnumMemberDeclaration.cs @@ -28,7 +28,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class EnumMemberDeclaration : EntityDeclaration + [DecompilerAstNode(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 1abb7c739..24a752831 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EventDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EventDeclaration.cs @@ -31,7 +31,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class EventDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class EventDeclaration : EntityDeclaration { public static readonly TokenRole EventKeywordRole = new TokenRole("event"); @@ -84,7 +85,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax } } - public class CustomEventDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class CustomEventDeclaration : EntityDeclaration { public static readonly TokenRole EventKeywordRole = new TokenRole("event"); public static readonly TokenRole AddKeywordRole = new TokenRole("add"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FieldDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FieldDeclaration.cs index 548b0333e..553b241bf 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FieldDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FieldDeclaration.cs @@ -31,7 +31,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class FieldDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class FieldDeclaration : EntityDeclaration { public override SymbolKind SymbolKind { get { return SymbolKind.Field; } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedFieldDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedFieldDeclaration.cs index 2d31d86ab..9694d54fa 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedFieldDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedFieldDeclaration.cs @@ -27,7 +27,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class FixedFieldDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class FixedFieldDeclaration : EntityDeclaration { public static readonly TokenRole FixedKeywordRole = new TokenRole("fixed"); public static readonly Role VariableRole = new Role("FixedVariable", null); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedVariableInitializer.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedVariableInitializer.cs index 56c602300..8fe3fc4b5 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedVariableInitializer.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/FixedVariableInitializer.cs @@ -30,7 +30,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Name [ CountExpression ] /// - public class FixedVariableInitializer : AstNode + [DecompilerAstNode(false)] + public partial class FixedVariableInitializer : AstNode { public override NodeType NodeType { get { diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/IndexerDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/IndexerDeclaration.cs index bad5ce81b..ead89ba5e 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/IndexerDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/IndexerDeclaration.cs @@ -31,7 +31,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class IndexerDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class IndexerDeclaration : EntityDeclaration { public static readonly TokenRole ThisKeywordRole = new TokenRole("this"); public static readonly Role GetterRole = PropertyDeclaration.GetterRole; diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/MethodDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/MethodDeclaration.cs index d01822868..27d213f81 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/MethodDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/MethodDeclaration.cs @@ -28,7 +28,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class MethodDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class MethodDeclaration : EntityDeclaration { public override SymbolKind SymbolKind { get { return SymbolKind.Method; } diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/OperatorDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/OperatorDeclaration.cs index 9ffc9058b..7694d05f4 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/OperatorDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/OperatorDeclaration.cs @@ -76,7 +76,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax CheckedExplicit } - public class OperatorDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class OperatorDeclaration : EntityDeclaration { public static readonly TokenRole OperatorKeywordRole = new TokenRole("operator"); public static readonly TokenRole CheckedKeywordRole = new TokenRole("checked"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ParameterDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ParameterDeclaration.cs index 98a86fd69..fe1eb1ade 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ParameterDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/ParameterDeclaration.cs @@ -30,7 +30,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class ParameterDeclaration : AstNode + [DecompilerAstNode(false)] + public partial class ParameterDeclaration : AstNode { public static readonly Role AttributeRole = EntityDeclaration.AttributeRole; public static readonly TokenRole ThisModifierRole = new TokenRole("this"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/PropertyDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/PropertyDeclaration.cs index f7fd87434..f4e5d8ddc 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/PropertyDeclaration.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/PropertyDeclaration.cs @@ -28,7 +28,8 @@ using ICSharpCode.Decompiler.TypeSystem; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class PropertyDeclaration : EntityDeclaration + [DecompilerAstNode(false)] + public partial class PropertyDeclaration : EntityDeclaration { public static readonly TokenRole GetKeywordRole = new TokenRole("get"); public static readonly TokenRole SetKeywordRole = new TokenRole("set"); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/VariableInitializer.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/VariableInitializer.cs index d5b74faa8..2b547c1de 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/VariableInitializer.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/VariableInitializer.cs @@ -27,7 +27,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax { - public class VariableInitializer : AstNode + [DecompilerAstNode(true)] + public partial class VariableInitializer : AstNode { #region Null public new static readonly VariableInitializer Null = new NullVariableInitializer(); diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/VariableDesignation.cs b/ICSharpCode.Decompiler/CSharp/Syntax/VariableDesignation.cs index 8d7991dec..9cef6f308 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/VariableDesignation.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/VariableDesignation.cs @@ -20,7 +20,8 @@ using ICSharpCode.Decompiler.CSharp.Syntax.PatternMatching; namespace ICSharpCode.Decompiler.CSharp.Syntax { - public abstract class VariableDesignation : AstNode + [DecompilerAstNode(true)] + public abstract partial class VariableDesignation : AstNode { public override NodeType NodeType => NodeType.Unknown; @@ -62,9 +63,9 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// Identifier /// - public class SingleVariableDesignation : VariableDesignation + [DecompilerAstNode(false)] + public partial class SingleVariableDesignation : VariableDesignation { - public string Identifier { get { return GetChildByRole(Roles.Identifier).Name; } set { SetChildByRole(Roles.Identifier, Syntax.Identifier.Create(value)); } @@ -99,7 +100,8 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax /// /// ( VariableDesignation (, VariableDesignation)* ) /// - public class ParenthesizedVariableDesignation : VariableDesignation + [DecompilerAstNode(false)] + public partial class ParenthesizedVariableDesignation : VariableDesignation { public CSharpTokenNode LParToken {