From fb7561e6dca07bbb32bf2689b227b982041c2408 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Mon, 17 Sep 2012 09:41:19 +0200 Subject: [PATCH] Hide EntityDeclaration.Name/NameToken via EditorBrowsableAttribute when they aren't usable in a derived class. (#117) --- .../Ast/TypeMembers/EventDeclaration.cs | 17 +++++++++++++++++ .../Ast/TypeMembers/FieldDeclaration.cs | 16 ++++++++++++++++ .../Ast/TypeMembers/IndexerDeclaration.cs | 2 ++ .../Ast/TypeMembers/OperatorDeclaration.cs | 2 ++ 4 files changed, 37 insertions(+) diff --git a/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/EventDeclaration.cs b/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/EventDeclaration.cs index 8c1958cf82..7e338af2cc 100644 --- a/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/EventDeclaration.cs +++ b/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/EventDeclaration.cs @@ -24,7 +24,10 @@ // 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.ComponentModel; + using ICSharpCode.NRefactory.TypeSystem; namespace ICSharpCode.NRefactory.CSharp @@ -41,6 +44,20 @@ namespace ICSharpCode.NRefactory.CSharp get { return GetChildrenByRole (Roles.Variable); } } + // Hide .Name and .NameToken from users; the actual field names + // are stored in the VariableInitializer. + [EditorBrowsable(EditorBrowsableState.Never)] + public override string Name { + get { return string.Empty; } + set { throw new NotSupportedException(); } + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public override Identifier NameToken { + get { return Identifier.Null; } + set { throw new NotSupportedException(); } + } + public override void AcceptVisitor (IAstVisitor visitor) { visitor.VisitEventDeclaration (this); diff --git a/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/FieldDeclaration.cs b/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/FieldDeclaration.cs index 16406d59d0..d9af2f374f 100644 --- a/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/FieldDeclaration.cs +++ b/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/FieldDeclaration.cs @@ -24,6 +24,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. +using System; +using System.ComponentModel; using ICSharpCode.NRefactory.TypeSystem; namespace ICSharpCode.NRefactory.CSharp @@ -38,6 +40,20 @@ namespace ICSharpCode.NRefactory.CSharp get { return GetChildrenByRole (Roles.Variable); } } + // Hide .Name and .NameToken from users; the actual field names + // are stored in the VariableInitializer. + [EditorBrowsable(EditorBrowsableState.Never)] + public override string Name { + get { return string.Empty; } + set { throw new NotSupportedException(); } + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public override Identifier NameToken { + get { return Identifier.Null; } + set { throw new NotSupportedException(); } + } + public override void AcceptVisitor (IAstVisitor visitor) { visitor.VisitFieldDeclaration (this); diff --git a/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/IndexerDeclaration.cs b/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/IndexerDeclaration.cs index 02bc126aec..d82001920f 100644 --- a/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/IndexerDeclaration.cs +++ b/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/IndexerDeclaration.cs @@ -25,6 +25,7 @@ // THE SOFTWARE. using System; +using System.ComponentModel; using ICSharpCode.NRefactory.TypeSystem; namespace ICSharpCode.NRefactory.CSharp @@ -53,6 +54,7 @@ namespace ICSharpCode.NRefactory.CSharp set { throw new NotSupportedException(); } } + [EditorBrowsable(EditorBrowsableState.Never)] public override Identifier NameToken { get { return Identifier.Null; } set { throw new NotSupportedException(); } diff --git a/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/OperatorDeclaration.cs b/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/OperatorDeclaration.cs index 8e09673577..f0a07e84d1 100644 --- a/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/OperatorDeclaration.cs +++ b/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/OperatorDeclaration.cs @@ -25,6 +25,7 @@ // THE SOFTWARE. using System; +using System.ComponentModel; using ICSharpCode.NRefactory.TypeSystem; namespace ICSharpCode.NRefactory.CSharp @@ -250,6 +251,7 @@ namespace ICSharpCode.NRefactory.CSharp set { throw new NotSupportedException(); } } + [EditorBrowsable(EditorBrowsableState.Never)] public override Identifier NameToken { get { return Identifier.Null; } set { throw new NotSupportedException(); }