diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index b6b96bfa39..ad1430ad05 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -360,13 +360,6 @@ - - - - - - - UserControl diff --git a/src/Main/Base/Project/Src/Dom/Implementations/DefaultField.cs b/src/Main/Base/Project/Src/Dom/Implementations/DefaultField.cs index 83c8487896..36c7b6eb8b 100644 --- a/src/Main/Base/Project/Src/Dom/Implementations/DefaultField.cs +++ b/src/Main/Base/Project/Src/Dom/Implementations/DefaultField.cs @@ -7,10 +7,10 @@ using System; using System.Reflection; -namespace ICSharpCode.SharpDevelop.Dom +namespace ICSharpCode.SharpDevelop.Dom { [Serializable] - public abstract class AbstractField : AbstractMember, IField + public class DefaultField : AbstractMember, IField { public override string DocumentationTag { get { @@ -18,11 +18,18 @@ namespace ICSharpCode.SharpDevelop.Dom } } - public AbstractField(IClass declaringType, string name) : base(declaringType, name) + public DefaultField(IClass declaringType, string name) : base(declaringType, name) { } - public virtual int CompareTo(IField field) + public DefaultField(IReturnType type, string name, ModifierEnum m, IRegion region, IClass declaringType) : base(declaringType, name) + { + this.ReturnType = type; + this.Region = region; + this.Modifiers = m; + } + + public virtual int CompareTo(IField field) { int cmp; diff --git a/src/Main/Base/Project/Src/Dom/Implementations/DefaultIndexer.cs b/src/Main/Base/Project/Src/Dom/Implementations/DefaultIndexer.cs index ee668b079a..d9f6068865 100644 --- a/src/Main/Base/Project/Src/Dom/Implementations/DefaultIndexer.cs +++ b/src/Main/Base/Project/Src/Dom/Implementations/DefaultIndexer.cs @@ -10,7 +10,7 @@ using System.Collections.Generic; namespace ICSharpCode.SharpDevelop.Dom { [Serializable] - public abstract class AbstractIndexer : AbstractMember, IIndexer + public class DefaultIndexer : AbstractMember, IIndexer { protected IRegion bodyRegion; protected IRegion getterRegion; @@ -55,10 +55,19 @@ namespace ICSharpCode.SharpDevelop.Dom } } - public AbstractIndexer(IClass declaringType) : base(declaringType, null) + public DefaultIndexer(IClass declaringType) : base(declaringType, null) { } + public DefaultIndexer(IReturnType type, List parameters, ModifierEnum m, IRegion region, IRegion bodyRegion, IClass declaringType) : this(declaringType) + { + this.ReturnType = type; + this.Parameters = parameters; + this.Region = region; + this.bodyRegion = bodyRegion; + this.Modifiers = m; + } + public virtual int CompareTo(IIndexer value) { int cmp; diff --git a/src/Main/Base/Project/Src/Dom/Implementations/DefaultMethod.cs b/src/Main/Base/Project/Src/Dom/Implementations/DefaultMethod.cs index c66bd3d2be..af56c3c54a 100644 --- a/src/Main/Base/Project/Src/Dom/Implementations/DefaultMethod.cs +++ b/src/Main/Base/Project/Src/Dom/Implementations/DefaultMethod.cs @@ -11,7 +11,26 @@ using System.Collections.Generic; namespace ICSharpCode.SharpDevelop.Dom { [Serializable] - public abstract class AbstractMethod : AbstractMember, IMethod + public class Constructor : DefaultMethod + { + public Constructor(ModifierEnum m, IRegion region, IRegion bodyRegion, IClass declaringType) + : base("#ctor", new ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.ReturnType(declaringType.FullyQualifiedName), + m, region, bodyRegion, declaringType) + { + } + } + + [Serializable] + public class Destructor : DefaultMethod + { + public Destructor(IRegion region, IRegion bodyRegion, IClass declaringType) + : base("#dtor", null, ModifierEnum.None, region, bodyRegion, declaringType) + { + } + } + + [Serializable] + public class DefaultMethod : AbstractMember, IMethod { protected IRegion bodyRegion; @@ -47,8 +66,16 @@ namespace ICSharpCode.SharpDevelop.Dom } } - public AbstractMethod(IClass declaringType, string name) : base(declaringType, name) + public DefaultMethod(IClass declaringType, string name) : base(declaringType, name) + { + } + + public DefaultMethod(string name, IReturnType type, ModifierEnum m, IRegion region, IRegion bodyRegion, IClass declaringType) : base(declaringType, name) { + this.ReturnType = type; + this.Region = region; + this.bodyRegion = bodyRegion; + Modifiers = m; } public override string ToString() diff --git a/src/Main/Base/Project/Src/Dom/Implementations/DefaultParameter.cs b/src/Main/Base/Project/Src/Dom/Implementations/DefaultParameter.cs index 26510a6aaf..53dd36e93d 100644 --- a/src/Main/Base/Project/Src/Dom/Implementations/DefaultParameter.cs +++ b/src/Main/Base/Project/Src/Dom/Implementations/DefaultParameter.cs @@ -10,9 +10,8 @@ using System.Collections.Generic; namespace ICSharpCode.SharpDevelop.Dom { - [Serializable] - public abstract class AbstractParameter : System.MarshalByRefObject, IParameter + public class DefaultParameter : System.MarshalByRefObject, IParameter { string name; string documentation; @@ -25,7 +24,16 @@ namespace ICSharpCode.SharpDevelop.Dom protected IRegion region; List attributes; + protected DefaultParameter(string name) + { + Name = name; + } + public DefaultParameter(string name, IReturnType type, IRegion region) : this(name) + { + returnType = type; + this.region = region; + } public IRegion Region { get { diff --git a/src/Main/Base/Project/Src/Dom/Implementations/DefaultProperty.cs b/src/Main/Base/Project/Src/Dom/Implementations/DefaultProperty.cs index 8a951413fd..b7b85cf498 100644 --- a/src/Main/Base/Project/Src/Dom/Implementations/DefaultProperty.cs +++ b/src/Main/Base/Project/Src/Dom/Implementations/DefaultProperty.cs @@ -11,7 +11,7 @@ using System.Collections.Generic; namespace ICSharpCode.SharpDevelop.Dom { [Serializable] - public abstract class AbstractProperty : AbstractMember, IProperty + public class DefaultProperty : AbstractMember, IProperty { protected IRegion bodyRegion; @@ -83,10 +83,18 @@ namespace ICSharpCode.SharpDevelop.Dom { } } - public AbstractProperty(IClass declaringType, string name) : base(declaringType, name) + public DefaultProperty(IClass declaringType, string name) : base(declaringType, name) { } + public DefaultProperty(string name, IReturnType type, ModifierEnum m, IRegion region, IRegion bodyRegion, IClass declaringType) : base(declaringType, name) + { + this.ReturnType = type; + this.Region = region; + this.bodyRegion = bodyRegion; + Modifiers = m; + } + public virtual int CompareTo(IProperty value) { int cmp; diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Constructor.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Constructor.cs deleted file mode 100644 index 96d3891b7a..0000000000 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Constructor.cs +++ /dev/null @@ -1,20 +0,0 @@ -// created on 06.08.2003 at 12:35 - -using ICSharpCode.SharpDevelop.Dom; -using ICSharpCode.NRefactory.Parser.AST; - -namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver -{ - public class Constructor : AbstractMethod - { - public Constructor(Modifier m, IRegion region, IRegion bodyRegion, IClass declaringType) : base(declaringType, "#ctor") - { - this.Region = region; - this.bodyRegion = bodyRegion; - Modifiers = (ModifierEnum)m; - if (Modifiers == ModifierEnum.None) { - Modifiers = ModifierEnum.Private; - } - } - } -} diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Destructor.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Destructor.cs deleted file mode 100644 index 99985d15bf..0000000000 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Destructor.cs +++ /dev/null @@ -1,16 +0,0 @@ -// created on 06.08.2003 at 12:35 - -using ICSharpCode.SharpDevelop.Dom; -using ICSharpCode.NRefactory.Parser.AST; - -namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver -{ - public class Destructor : AbstractMethod - { - public Destructor(IRegion region, IRegion bodyRegion, IClass declaringType) : base(declaringType, "~" + declaringType.Name) - { - this.Region = region; - this.bodyRegion = bodyRegion; - } - } -} diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Event.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Event.cs deleted file mode 100644 index a92d7a6e26..0000000000 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Event.cs +++ /dev/null @@ -1,27 +0,0 @@ -// created on 06.08.2003 at 12:30 - -using ICSharpCode.SharpDevelop.Dom; -using ICSharpCode.NRefactory.Parser.AST; - -namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver -{ - public class Event : AbstractEvent - { - public void AddModifier(ModifierEnum m) - { - modifiers = modifiers | m; - } - - public Event(string name, ReturnType type, Modifier m, IRegion region, IRegion bodyRegion, IClass declaringType) : base(declaringType) - { - FullyQualifiedName = name; - returnType = type; - this.region = region; - this.bodyRegion = bodyRegion; - modifiers = (ModifierEnum)m; - if (modifiers == ModifierEnum.None) { - modifiers = ModifierEnum.Private; - } - } - } -} diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Field.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Field.cs deleted file mode 100644 index d42d49fd8f..0000000000 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Field.cs +++ /dev/null @@ -1,20 +0,0 @@ -// created on 04.08.2003 at 18:06 - -using ICSharpCode.SharpDevelop.Dom; -using ICSharpCode.NRefactory.Parser.AST; - -namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver -{ - public class Field : AbstractField - { - public Field(ReturnType type, string name, Modifier m, IRegion region, IClass declaringType) : base(declaringType, name) - { - this.ReturnType = type; - this.Region = region; - Modifiers = (ModifierEnum)m; - if (Modifiers == ModifierEnum.None) { - Modifiers = ModifierEnum.Private; - } - } - } -} diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Indexer.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Indexer.cs deleted file mode 100644 index 2fab4d938b..0000000000 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Indexer.cs +++ /dev/null @@ -1,23 +0,0 @@ -// created on 06.08.2003 at 12:34 - -using ICSharpCode.SharpDevelop.Dom; -using ICSharpCode.NRefactory.Parser.AST; -using System.Collections.Generic; - -namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver -{ - public class Indexer : AbstractIndexer - { - public Indexer(ReturnType type, List parameters, Modifier m, IRegion region, IRegion bodyRegion, IClass declaringType) : base(declaringType) - { - this.ReturnType = type; - this.Parameters = parameters; - this.Region = region; - this.bodyRegion = bodyRegion; - Modifiers = (ModifierEnum)m; - if (Modifiers == ModifierEnum.None) { - Modifiers = ModifierEnum.Private; - } - } - } -} diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Method.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Method.cs deleted file mode 100644 index 49960b2919..0000000000 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Method.cs +++ /dev/null @@ -1,21 +0,0 @@ -// created on 06.08.2003 at 12:35 -using System; -using ICSharpCode.SharpDevelop.Dom; -using ICSharpCode.NRefactory.Parser.AST; - -namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver -{ - public class Method : AbstractMethod - { - public Method(string name, ReturnType type, Modifier m, IRegion region, IRegion bodyRegion, IClass declaringType) : base(declaringType, name) - { - this.ReturnType = type; - this.Region = region; - this.bodyRegion = bodyRegion; - Modifiers = (ModifierEnum)m; - if (Modifiers == ModifierEnum.None) { - Modifiers = ModifierEnum.Private; - } - } - } -} diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs index 4af27b459a..1057c6a76f 100644 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs +++ b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs @@ -35,6 +35,17 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver return currentClass.Count == 0 ? null : currentClass.Peek(); } + ModifierEnum ConvertModifier(AST.Modifier m) + { + return ConvertModifier(m, ModifierEnum.Private); + } + + ModifierEnum ConvertModifier(AST.Modifier m, ModifierEnum defaultModifier) + { + // TODO: Is this possible? I think we have to pay caution to defaultModifier + return (ModifierEnum)m; + } + public override object Visit(AST.CompilationUnit compilationUnit, object data) { //TODO: usings, Comments @@ -121,11 +132,6 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver return result; } -// ModifierEnum VisitModifier(ICSharpCode.NRefactory.Parser.Modifier m) -// { -// return (ModifierEnum)m; -// } - public override object Visit(AST.NamespaceDeclaration namespaceDeclaration, object data) { string name; @@ -164,7 +170,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver public override object Visit(AST.TypeDeclaration typeDeclaration, object data) { DefaultRegion region = GetRegion(typeDeclaration.StartLocation, typeDeclaration.EndLocation); - DefaultClass c = new DefaultClass(cu, TranslateClassType(typeDeclaration.Type), (ModifierEnum)typeDeclaration.Modifier, region, GetCurrentClass()); + DefaultClass c = new DefaultClass(cu, TranslateClassType(typeDeclaration.Type), ConvertModifier(typeDeclaration.Modifier, ModifierEnum.Internal), region, GetCurrentClass()); c.Attributes.AddRange(VisitAttributes(typeDeclaration.Attributes)); if (currentClass.Count > 0) { @@ -193,7 +199,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver public override object Visit(AST.DelegateDeclaration delegateDeclaration, object data) { DefaultRegion region = GetRegion(delegateDeclaration.StartLocation, delegateDeclaration.EndLocation); - DefaultClass c = new DefaultClass(cu, ClassType.Delegate, (ModifierEnum)delegateDeclaration.Modifier, region, GetCurrentClass()); + DefaultClass c = new DefaultClass(cu, ClassType.Delegate, ConvertModifier(delegateDeclaration.Modifier, ModifierEnum.Internal), region, GetCurrentClass()); c.Attributes.AddRange(VisitAttributes(delegateDeclaration.Attributes)); c.BaseTypes.Add("System.Delegate"); if (currentClass.Count > 0) { @@ -208,7 +214,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver } cu.Classes.Add(c); } - Method invokeMethod = new Method("Invoke", new ReturnType(delegateDeclaration.ReturnType), delegateDeclaration.Modifier, null, null, c); + DefaultMethod invokeMethod = new DefaultMethod("Invoke", new ReturnType(delegateDeclaration.ReturnType), ConvertModifier(delegateDeclaration.Modifier), null, null, c); c.Methods.Add(invokeMethod); return c; } @@ -220,13 +226,13 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver ReturnType type = new ReturnType(methodDeclaration.TypeReference); DefaultClass c = GetCurrentClass(); - Method method = new Method(methodDeclaration.Name, type, methodDeclaration.Modifier, region, bodyRegion, GetCurrentClass()); + DefaultMethod method = new DefaultMethod(methodDeclaration.Name, type, ConvertModifier(methodDeclaration.Modifier), region, bodyRegion, GetCurrentClass()); method.Attributes.AddRange(VisitAttributes(methodDeclaration.Attributes)); List parameters = new List(); if (methodDeclaration.Parameters != null) { foreach (AST.ParameterDeclarationExpression par in methodDeclaration.Parameters) { ReturnType parType = new ReturnType(par.TypeReference); - Parameter p = new Parameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, methodDeclaration.Body.EndLocation)); + DefaultParameter p = new DefaultParameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, methodDeclaration.Body.EndLocation)); parameters.Add(p); } } @@ -241,13 +247,13 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver DefaultRegion bodyRegion = GetRegion(constructorDeclaration.EndLocation, constructorDeclaration.Body != null ? constructorDeclaration.Body.EndLocation : new Point(-1, -1)); DefaultClass c = GetCurrentClass(); - Constructor constructor = new Constructor(constructorDeclaration.Modifier, region, bodyRegion, GetCurrentClass()); + Constructor constructor = new Constructor(ConvertModifier(constructorDeclaration.Modifier), region, bodyRegion, GetCurrentClass()); constructor.Attributes.AddRange(VisitAttributes(constructorDeclaration.Attributes)); List parameters = new List(); if (constructorDeclaration.Parameters != null) { foreach (AST.ParameterDeclarationExpression par in constructorDeclaration.Parameters) { ReturnType parType = new ReturnType(par.TypeReference); - Parameter p = new Parameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, constructorDeclaration.Body.EndLocation)); + DefaultParameter p = new DefaultParameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, constructorDeclaration.Body.EndLocation)); parameters.Add(p); } } @@ -283,7 +289,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver retType = new ReturnType(c.FullyQualifiedName); else retType = new ReturnType(fieldDeclaration.GetTypeForField(i)); - Field f = new Field(retType, field.Name, fieldDeclaration.Modifier, region, c); + DefaultField f = new DefaultField(retType, field.Name, ConvertModifier(fieldDeclaration.Modifier), region, c); f.Attributes.AddRange(VisitAttributes(fieldDeclaration.Attributes)); if (c.ClassType == ClassType.Enum) { f.Modifiers = ModifierEnum.Const | ModifierEnum.Public; @@ -303,7 +309,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver ReturnType type = new ReturnType(propertyDeclaration.TypeReference); DefaultClass c = GetCurrentClass(); - Property property = new Property(propertyDeclaration.Name, type, propertyDeclaration.Modifier, region, bodyRegion, GetCurrentClass()); + DefaultProperty property = new DefaultProperty(propertyDeclaration.Name, type, ConvertModifier(propertyDeclaration.Modifier), region, bodyRegion, GetCurrentClass()); property.Attributes.AddRange(VisitAttributes(propertyDeclaration.Attributes)); c.Properties.Add(property); return null; @@ -319,12 +325,12 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver if (eventDeclaration.VariableDeclarators != null) { foreach (ICSharpCode.NRefactory.Parser.AST.VariableDeclaration varDecl in eventDeclaration.VariableDeclarators) { - e = new DefaultEvent(varDecl.Name, type, (ModifierEnum)eventDeclaration.Modifier, region, bodyRegion, GetCurrentClass()); + e = new DefaultEvent(varDecl.Name, type, ConvertModifier(eventDeclaration.Modifier), region, bodyRegion, GetCurrentClass()); e.Attributes.AddRange(VisitAttributes(eventDeclaration.Attributes)); c.Events.Add(e); } } else { - e = new DefaultEvent(eventDeclaration.Name, type, (ModifierEnum)eventDeclaration.Modifier, region, bodyRegion, GetCurrentClass()); + e = new DefaultEvent(eventDeclaration.Name, type, ConvertModifier(eventDeclaration.Modifier), region, bodyRegion, GetCurrentClass()); e.Attributes.AddRange(VisitAttributes(eventDeclaration.Attributes)); c.Events.Add(e); } @@ -336,12 +342,12 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver DefaultRegion region = GetRegion(indexerDeclaration.StartLocation, indexerDeclaration.EndLocation); DefaultRegion bodyRegion = GetRegion(indexerDeclaration.BodyStart, indexerDeclaration.BodyEnd); List parameters = new List(); - Indexer i = new Indexer(new ReturnType(indexerDeclaration.TypeReference), parameters, indexerDeclaration.Modifier, region, bodyRegion, GetCurrentClass()); + DefaultIndexer i = new DefaultIndexer(new ReturnType(indexerDeclaration.TypeReference), parameters, ConvertModifier(indexerDeclaration.Modifier), region, bodyRegion, GetCurrentClass()); i.Attributes.AddRange(VisitAttributes(indexerDeclaration.Attributes)); if (indexerDeclaration.Parameters != null) { foreach (AST.ParameterDeclarationExpression par in indexerDeclaration.Parameters) { ReturnType parType = new ReturnType(par.TypeReference); - Parameter p = new Parameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, indexerDeclaration.EndLocation)); + DefaultParameter p = new DefaultParameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, indexerDeclaration.EndLocation)); parameters.Add(p); } } diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs index 36b376d514..c12e0bc1e3 100644 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs +++ b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs @@ -220,12 +220,12 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver LocalLookupVariable var = SearchVariable(identifier); if (var != null) { IReturnType type = GetVariableType(var); - IField field = new LocalVariableField(FixType(type), identifier, new DefaultRegion(var.StartPos, var.EndPos), callingClass); + IField field = new DefaultField(FixType(type), identifier, ModifierEnum.None, new DefaultRegion(var.StartPos, var.EndPos), callingClass); return new LocalResolveResult(callingMember, field, false); } IParameter para = SearchMethodParameter(identifier); if (para != null) { - IField field = new LocalVariableField(FixType(para.ReturnType), para.Name, para.Region, callingClass); + IField field = new DefaultField(FixType(para.ReturnType), para.Name, ModifierEnum.None, para.Region, callingClass); return new LocalResolveResult(callingMember, field, true); } } @@ -252,16 +252,6 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver } return null; } - - private class LocalVariableField : AbstractField - { - public LocalVariableField(IReturnType type, string name, IRegion region, IClass declaringType) : base(declaringType, name) - { - this.ReturnType = type; - this.Region = region; - this.Modifiers = ModifierEnum.Private; - } - } #endregion private ResolveResult CreateMemberResolveResult(IMember member) @@ -721,7 +711,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver IMethod method = callingMember as IMethod; if (method != null) { foreach (IParameter p in method.Parameters) { - result.Add(new Field(new ReturnType(p.ReturnType.Name, p.ReturnType.ArrayDimensions, p.ReturnType.PointerNestingLevel), p.Name, Modifier.None, method.Region, callingClass)); + result.Add(new DefaultField(new ReturnType(p.ReturnType.Name, p.ReturnType.ArrayDimensions, p.ReturnType.PointerNestingLevel), p.Name, ModifierEnum.None, method.Region, callingClass)); } } result.AddRange(projectContent.GetNamespaceContents(callingClass.Namespace)); @@ -741,7 +731,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver if (IsInside(new Point(caretColumn, caretLine), v.StartPos, v.EndPos)) { // LocalLookupVariable in no known Type in DisplayBindings.TextEditor // so add Field for the Variables - result.Add(new Field(new ReturnType(v.TypeRef), name, Modifier.None, new DefaultRegion(v.StartPos, v.EndPos), callingClass)); + result.Add(new DefaultField(new ReturnType(v.TypeRef), name, ModifierEnum.None, new DefaultRegion(v.StartPos, v.EndPos), callingClass)); break; } } diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Parameter.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Parameter.cs deleted file mode 100644 index d2c18ca929..0000000000 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Parameter.cs +++ /dev/null @@ -1,16 +0,0 @@ -// created on 07.08.2003 at 20:12 - -using ICSharpCode.SharpDevelop.Dom; - -namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver -{ - public class Parameter : AbstractParameter - { - public Parameter(string name, ReturnType type, IRegion region) - { - Name = name; - returnType = type; - this.region = region; - } - } -} diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Property.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Property.cs deleted file mode 100644 index a4de90233e..0000000000 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/Property.cs +++ /dev/null @@ -1,21 +0,0 @@ -// created on 06.08.2003 at 12:36 - -using ICSharpCode.SharpDevelop.Dom; -using ICSharpCode.NRefactory.Parser.AST; - -namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver -{ - public class Property : AbstractProperty - { - public Property(string name, ReturnType type, Modifier m, IRegion region, IRegion bodyRegion, IClass declaringType) : base(declaringType, name) - { - this.ReturnType = type; - this.Region = region; - this.bodyRegion = bodyRegion; - Modifiers = (ModifierEnum)m; - if (Modifiers == ModifierEnum.None) { - Modifiers = ModifierEnum.Private; - } - } - } -} diff --git a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionField.cs b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionField.cs index bbea984349..785c61b9ed 100644 --- a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionField.cs +++ b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionField.cs @@ -13,7 +13,7 @@ using System.Xml; namespace ICSharpCode.SharpDevelop.Dom { [Serializable] - public class ReflectionField : AbstractField + public class ReflectionField : DefaultField { FieldInfo fieldInfo; public override IReturnType ReturnType { diff --git a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionIndexer.cs b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionIndexer.cs index 1cc8e930d4..6aa4709f0f 100644 --- a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionIndexer.cs +++ b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionIndexer.cs @@ -14,7 +14,7 @@ using System.Xml; namespace ICSharpCode.SharpDevelop.Dom { [Serializable] - public class ReflectionIndexer : AbstractIndexer + public class ReflectionIndexer : DefaultIndexer { PropertyInfo propertyInfo; diff --git a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionMethod.cs b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionMethod.cs index ba276494de..7879b40f99 100644 --- a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionMethod.cs +++ b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionMethod.cs @@ -14,7 +14,7 @@ using System.Xml; namespace ICSharpCode.SharpDevelop.Dom { [Serializable] - public class ReflectionMethod : AbstractMethod + public class ReflectionMethod : DefaultMethod { MethodBase methodBase; diff --git a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionParameter.cs b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionParameter.cs index 1ebe26d4df..95d5fca73a 100644 --- a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionParameter.cs +++ b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionParameter.cs @@ -11,7 +11,7 @@ using System.Xml; namespace ICSharpCode.SharpDevelop.Dom { [Serializable] - public class ReflectionParameter : AbstractParameter + public class ReflectionParameter : DefaultParameter { ParameterInfo parameterInfo; public override IReturnType ReturnType { @@ -22,10 +22,9 @@ namespace ICSharpCode.SharpDevelop.Dom } } - public ReflectionParameter(ParameterInfo parameterInfo) + public ReflectionParameter(ParameterInfo parameterInfo) : base(parameterInfo.Name) { this.parameterInfo = parameterInfo; - Name = parameterInfo.Name; if (parameterInfo.IsOut) { modifier |= ParameterModifier.Out; diff --git a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionProperty.cs b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionProperty.cs index 7f13c71ec8..5ab0577042 100644 --- a/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionProperty.cs +++ b/src/Main/Base/Project/Src/Dom/ReflectionLayer/ReflectionProperty.cs @@ -12,7 +12,7 @@ using System.Xml; namespace ICSharpCode.SharpDevelop.Dom { [Serializable] - public class ReflectionProperty : AbstractProperty + public class ReflectionProperty : DefaultProperty { PropertyInfo propertyInfo; diff --git a/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs b/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs index b09609922d..38883ea92e 100644 --- a/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs +++ b/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs @@ -88,9 +88,16 @@ namespace ICSharpCode.SharpDevelop.Gui Form form = (Form)WorkbenchSingleton.Workbench; PerformCallDelegate performCallDelegate; + #if DEBUG + string callerStack; + #endif + public STAThreadCaller() { performCallDelegate = new PerformCallDelegate(DoPerformCall); + #if DEBUG + callerStack = Environment.StackTrace; + #endif } public object Call(object target, string methodName, params object[] arguments) @@ -103,6 +110,7 @@ namespace ICSharpCode.SharpDevelop.Gui this.methodName = methodName; this.arguments = arguments; + // TODO: This doesn't look like it's thread-safe, we're calling the target directly! return DoPerformCall(); } @@ -125,8 +133,12 @@ namespace ICSharpCode.SharpDevelop.Gui return methodInfo.Invoke(target, arguments); } } catch (Exception ex) { - MessageService.ShowError(ex, "Exception got. "); + #if DEBUG + Console.WriteLine("Stacktrace of source thread:"); + Console.WriteLine(callerStack); + Console.WriteLine(); + #endif } } return null;