Table of Contents

Class IntroduceExtensionMethods

Namespace
ICSharpCode.Decompiler.CSharp.Transforms
Assembly
ICSharpCode.Decompiler.dll

Converts extension method calls into infix syntax.

public class IntroduceExtensionMethods : DepthFirstAstVisitor, IAstVisitor, IAstTransform
Inheritance
IntroduceExtensionMethods
Implements
Inherited Members

Constructors

IntroduceExtensionMethods()

public IntroduceExtensionMethods()

Methods

CanTransformToExtensionMethodCall(CSharpResolver, IMethod, IReadOnlyList<IType>, ResolveResult, ResolveResult[], string[])

public static bool CanTransformToExtensionMethodCall(CSharpResolver resolver, IMethod method, IReadOnlyList<IType> typeArguments, ResolveResult target, ResolveResult[] arguments, string[] argumentNames)

Parameters

resolver CSharpResolver
method IMethod
typeArguments IReadOnlyList<IType>
target ResolveResult
arguments ResolveResult[]
argumentNames string[]

Returns

bool

CanTransformToExtensionMethodCall(CSharpTypeResolveContext, InvocationExpression)

public static bool CanTransformToExtensionMethodCall(CSharpTypeResolveContext resolveContext, InvocationExpression invocationExpression)

Parameters

resolveContext CSharpTypeResolveContext
invocationExpression InvocationExpression

Returns

bool

CanTransformToExtensionMethodCall(IMethod, CSharpTypeResolveContext, bool, bool)

public static bool CanTransformToExtensionMethodCall(IMethod method, CSharpTypeResolveContext resolveContext, bool ignoreTypeArguments = false, bool ignoreArgumentNames = true)

Parameters

method IMethod
resolveContext CSharpTypeResolveContext
ignoreTypeArguments bool
ignoreArgumentNames bool

Returns

bool

Run(AstNode, TransformContext)

public void Run(AstNode rootNode, TransformContext context)

Parameters

rootNode AstNode
context TransformContext

VisitInvocationExpression(InvocationExpression)

public override void VisitInvocationExpression(InvocationExpression invocationExpression)

Parameters

invocationExpression InvocationExpression

VisitNamespaceDeclaration(NamespaceDeclaration)

public override void VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration)

Parameters

namespaceDeclaration NamespaceDeclaration

VisitTypeDeclaration(TypeDeclaration)

public override void VisitTypeDeclaration(TypeDeclaration typeDeclaration)

Parameters

typeDeclaration TypeDeclaration