Browse Source

Fixed some issues in the context actions.

newNRvisualizers
Mike Krüger 15 years ago
parent
commit
2c2f30d563
  1. 2
      ICSharpCode.NRefactory/CSharp/Refactoring/ContextAction/AddAnotherAccessor.cs
  2. 2
      ICSharpCode.NRefactory/CSharp/Refactoring/ContextAction/CheckIfParameterIsNull.cs
  3. 2
      ICSharpCode.NRefactory/CSharp/Refactoring/ContextAction/CreateEventInvocator.cs
  4. 4
      ICSharpCode.NRefactory/CSharp/Refactoring/ContextAction/GenerateSwitchLabels.cs
  5. 7
      ICSharpCode.NRefactory/CSharp/Refactoring/RefactoringContext.cs

2
ICSharpCode.NRefactory/CSharp/Refactoring/ContextAction/AddAnotherAccessor.cs

@ -75,7 +75,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
return new ReturnStatement (new IdentifierExpression (field.Name)); return new ReturnStatement (new IdentifierExpression (field.Name));
} }
return new ThrowStatement (new ObjectCreateExpression (context.CreateShortType ("System.NotImplementedException"))); return new ThrowStatement (new ObjectCreateExpression (context.CreateShortType ("System", "NotImplementedException")));
} }
static PropertyDeclaration GetPropertyDeclaration (RefactoringContext context) static PropertyDeclaration GetPropertyDeclaration (RefactoringContext context)

2
ICSharpCode.NRefactory/CSharp/Refactoring/ContextAction/CheckIfParameterIsNull.cs

@ -60,7 +60,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
var statement = new IfElseStatement () { var statement = new IfElseStatement () {
Condition = new BinaryOperatorExpression (new IdentifierExpression (parameter.Name), BinaryOperatorType.Equality, new NullReferenceExpression ()), Condition = new BinaryOperatorExpression (new IdentifierExpression (parameter.Name), BinaryOperatorType.Equality, new NullReferenceExpression ()),
TrueStatement = new ThrowStatement (new ObjectCreateExpression (context.CreateShortType ("System.ArgumentNullException"), new PrimitiveExpression (parameter.Name))) TrueStatement = new ThrowStatement (new ObjectCreateExpression (context.CreateShortType ("System", "ArgumentNullException"), new PrimitiveExpression (parameter.Name)))
}; };
using (var script = context.StartScript ()) { using (var script = context.StartScript ()) {

2
ICSharpCode.NRefactory/CSharp/Refactoring/ContextAction/CreateEventInvocator.cs

@ -72,7 +72,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
var methodDeclaration = new MethodDeclaration () { var methodDeclaration = new MethodDeclaration () {
Name = "On" + initializer.Name, Name = "On" + initializer.Name,
ReturnType = context.CreateShortType (eventDeclaration.ReturnType), ReturnType = new PrimitiveType ("void"),
Modifiers = ICSharpCode.NRefactory.CSharp.Modifiers.Protected | ICSharpCode.NRefactory.CSharp.Modifiers.Virtual, Modifiers = ICSharpCode.NRefactory.CSharp.Modifiers.Protected | ICSharpCode.NRefactory.CSharp.Modifiers.Virtual,
Body = new BlockStatement () { Body = new BlockStatement () {
new VariableDeclarationStatement (context.CreateShortType (eventDeclaration.ReturnType), handlerName, new MemberReferenceExpression (new ThisReferenceExpression (), initializer.Name)), new VariableDeclarationStatement (context.CreateShortType (eventDeclaration.ReturnType), handlerName, new MemberReferenceExpression (new ThisReferenceExpression (), initializer.Name)),

4
ICSharpCode.NRefactory/CSharp/Refactoring/ContextAction/GenerateSwitchLabels.cs

@ -49,7 +49,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
var type = result.Type; var type = result.Type;
var newSwitch = (SwitchStatement)switchStatement.Clone (); var newSwitch = (SwitchStatement)switchStatement.Clone ();
var target = new TypeReferenceExpression (context.CreateShortType (result.Type.ConvertToAstType ())); var target = new TypeReferenceExpression (context.CreateShortType (result.Type.Resolve (context.TypeResolveContext)));
foreach (var field in type.GetFields (context.TypeResolveContext)) { foreach (var field in type.GetFields (context.TypeResolveContext)) {
if (field.IsSynthetic || !field.IsConst) if (field.IsSynthetic || !field.IsConst)
continue; continue;
@ -68,7 +68,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
new CaseLabel () new CaseLabel ()
}, },
Statements = { Statements = {
new ThrowStatement (new ObjectCreateExpression (context.CreateShortType ("System.ArgumentOutOfRangeException"))) new ThrowStatement (new ObjectCreateExpression (context.CreateShortType ("System", "ArgumentOutOfRangeException")))
} }
}); });

7
ICSharpCode.NRefactory/CSharp/Refactoring/RefactoringContext.cs

@ -59,11 +59,14 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public abstract AstType CreateShortType (IType fullType); public abstract AstType CreateShortType (IType fullType);
public abstract AstType CreateShortType (string fullTypeName); public AstType CreateShortType (string ns, string typeName)
{
return CreateShortType (TypeResolveContext.GetTypeDefinition (ns, typeName, 0, StringComparer.Ordinal));
}
public virtual AstType CreateShortType (AstType fullType) public virtual AstType CreateShortType (AstType fullType)
{ {
return CreateShortType (Resolve (fullType).Type); return CreateShortType (Resolve (fullType).Type.Resolve (TypeResolveContext));
} }
// public abstract IType GetDefinition (AstType resolvedType); // public abstract IType GetDefinition (AstType resolvedType);

Loading…
Cancel
Save