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;