diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs
index e76745012..53b06f1e4 100644
--- a/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs
+++ b/ICSharpCode.Decompiler/CSharp/Syntax/Expressions/ArrayInitializerExpression.cs
@@ -34,18 +34,6 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax
[DecompilerAstNode(hasNullNode: true, hasPatternPlaceholder: true)]
public partial class ArrayInitializerExpression : Expression
{
- ///
- /// For ease of use purposes in the resolver the ast representation
- /// of { a, b, c } is { {a}, {b}, {c} }.
- /// If IsSingleElement is true then this array initializer expression is a generated one.
- /// That has no meaning in the source code (and contains no brace tokens).
- ///
- public virtual bool IsSingleElement {
- get {
- return false;
- }
- }
-
public ArrayInitializerExpression()
{
}
@@ -77,23 +65,6 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax
ArrayInitializerExpression o = other as ArrayInitializerExpression;
return o != null && this.Elements.DoMatch(o.Elements, match);
}
-
- public static ArrayInitializerExpression CreateSingleElementInitializer()
- {
- return new SingleArrayInitializerExpression();
- }
- ///
- /// Single elements in array initializers are represented with this special class.
- ///
- class SingleArrayInitializerExpression : ArrayInitializerExpression
- {
- public override bool IsSingleElement {
- get {
- return true;
- }
- }
-
- }
}
}
diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/Role.cs b/ICSharpCode.Decompiler/CSharp/Syntax/Role.cs
index 2411a2652..aec5a1f0c 100644
--- a/ICSharpCode.Decompiler/CSharp/Syntax/Role.cs
+++ b/ICSharpCode.Decompiler/CSharp/Syntax/Role.cs
@@ -88,15 +88,6 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax
return node is T;
}
- [Obsolete("Use the other overload explicitly specifying the nullObject.")]
- public Role(string name)
- {
- if (name == null)
- throw new ArgumentNullException(nameof(name));
- this.name = name;
- this.nullObject = null!;
- }
-
public Role(string name, T nullObject)
{
this.name = name ?? throw new ArgumentNullException(nameof(name));
diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EntityDeclaration.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EntityDeclaration.cs
index 28cfb0798..b2670a956 100644
--- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EntityDeclaration.cs
+++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeMembers/EntityDeclaration.cs
@@ -16,6 +16,7 @@
// 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.Generic;
using System.Linq;
@@ -33,6 +34,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax
get { return NodeType.Member; }
}
+ [Obsolete]
public abstract SymbolKind SymbolKind { get; }
public AstNodeCollection Attributes {