C# 클래스 ICSharpCode.NRefactory.Cpp.Resolver

파일 보기 프로젝트 열기: AlexAlbala/Alter-Native

공개 프로퍼티들

프로퍼티 타입 설명
boostLink bool

공개 메소드들

메소드 설명
AddDefaultConstructor ( TypeDeclaration type, List extraStatements = null ) : void
AddToStringMethod ( TypeDeclaration type ) : void
ConvertToExternTypeArguments ( AstNodeCollection parameters ) : List
ConvertToExternTypeParameters ( AstNodeCollection parameters ) : AstNodeCollection
DereferenceMembers ( AstNode node, string identifier ) : void
ExtractAllTypesFrom ( AstNodeCollection elist ) : List
ExtractAllTypesFrom ( Expression e ) : List
GetChildrenOf ( AstNode member, Type type ) : List

Returns the childs nodes of type specified by variable type

GetChildrenOf ( CSharp member, Type type ) : List

Returns the childs nodes of type specified by variable type

GetCppName ( string CSharpName ) : string

Tries to extract the C++ name of a C# name

GetDelegateArgs ( String type ) : ParameterDeclaration[]

Returns the arguments of a delegate type

GetDelegateArgsNum ( String type ) : int

Returns the number of input arguments of a delegate type

GetDelegateReturnType ( String identifier ) : string

Returns the return type name of a delegate type

GetEntryPointFromDllImport ( CSharp attributes ) : string

Returns the name of the target external function

GetExplicitInterfaceTypes ( TypeDeclaration currentType ) : void

Builds and adds the needed nested types in a current type representing explicit interfaces

GetExtraDLLs ( ) : List
GetHeaderNode ( AstNode node, AstNode headerNode ) : void

Return a header node form of a specified standard node

GetInlineConversionConstructorDeclarationCall ( ConversionConstructorDeclaration conv ) : string

Returns the member string for calling a conversion constructor declaration: i.e. operator IB*();

GetLibraryFromDllImport ( CSharp attributes ) : string

Gets the library in which the external method is located

GetNeededNamespaces ( ) : string[]

Gets the needed namespaces of the current type

GetParentOf ( AstNode member, Type type ) : AstNode

Returns the first parent node of type specified by variable type

GetParentOf ( CSharp member, Type type ) : CSharp.AstNode

Returns the first parent node of type specified by variable type

GetType ( string currentField_Variable, string currentType, string currentMethod, string currentParameter ) : AstType

Tries to combine all of the provided parameters to extract the AstType class of an object with the identifier specified (Extracts the type of Field or variable, or parameters)

GetTypeIncludes ( ) : string[]

Gets the types have to be included

GetTypeName ( Ast type ) : string

Returns the name of a given AstType

GetTypeName ( CSharp type ) : string

Returns the name of a given AstType

HasChildOf ( AstNode member, Type type ) : bool

Returns if the node has a child of a specified type

HasChildOf ( CSharp member, Type type ) : bool

Returns if the node has a child of a specified type

IdentifierIsDelegate ( String identifier, String &type ) : bool

Returns if an identifier belongs to a delegate type

InferNamespace ( CSharp type ) : string
IsChildOf ( AstNode member, Type type ) : bool

Checks if the node is child of other node of the specified type

IsChildOf ( CSharp member, Type type ) : bool

Checks if the node is child of other node of the specified type

IsCustomEventCall ( MemberReferenceExpression memberReferenceExpression, string currentTypeName ) : bool

Returns if a member reference expression in C# is a call over a C# custom event

IsDLLImportMethod ( CSharp method ) : bool

Returns if a method is marked as an external method or not

IsDelegateType ( AstType type ) : bool

Returns if the specified type name is a delegate type

IsDelegateType ( CSharp type ) : bool

Returns if the specified type name is a delegate type

IsDelegateType ( String type ) : bool

Returns if the specified type name is a delegate type

IsDirectChildOf ( AstNode member, Type type ) : bool

Checks if the node is direct child of other node of the specified type

IsDirectChildOf ( CSharp member, Type type ) : bool

Checks if the node is direct child of other node of the specified type

IsEnumType ( String type ) : bool

Returns if a type is Enum type

IsLibraryType ( string type ) : bool

Tells if a specified type is mapped with a library file

IsPointer ( string currentField_Variable, string currentType, string currentMethod, string currentParameter ) : bool

Returns if an identifier is a pointer expression. This method checks if the identifier (declared in a method parameter, method variable, or class field) is a pointer. The method will search the identifier depending of the filled parameters or the null parameters CurrentType + currentFieldVarialbe CurrentMethod + CurrentParameter CurrentMethod + CurrentField_Variable

IsPropertyCall ( MemberReferenceExpression memberReferenceExpression, string currentTypeName ) : bool

Returns if a member reference expression in C# is a call over a C# property

IsStringSwitch ( SwitchStatement switchStatement ) : bool
IsStructReference ( MemberReferenceExpression memberReferenceExpression, string currentTypeName, string currentMethodName ) : bool

Returns if a member reference expression in C# is a call over a struct

IsStructType ( String type ) : bool
IsSynchronizedMethod ( CSharp method ) : bool

Returns if a method is marked as synchronized or not

IsSynchronizedMethod ( MethodDeclaration method ) : bool

Returns if a method is marked as synchronized or not

IsTemplatizedAbstractMethod ( string type, string method ) : bool

Returns if a method is an abstract method returning a templatized type (useful for avoiding covariance errors)

IsTemplatizedType ( AstType type ) : bool

Returns if a type has template arguments

IsTemplatizedType ( CSharp type ) : bool

Returns if a type has template arguments

IsTypeArgument ( AstType type ) : bool

Returns if a specified type is a type argument

IsUnsafe ( string currentField_Variable, string currentType, string currentMethod, string currentParameter ) : bool

Returns if an identifier is an unsafe expression. This method checks if the identifier (declared in a method parameter, method variable, or class field) is an unsasfe pointer variable. The method will search the identifier depending of the filled parameters or the null parameters CurrentType + currentFieldVarialbe CurrentMethod + CurrentParameter CurrentMethod + CurrentField_Variable

IsValueType ( string currentNamespace, string type ) : bool
NeedsDereference ( CSharp node, string currentType, string currentMethod ) : bool

Returns if a node (i.e expression, identifier...) needs a dereference

NeedsDereference ( string currentField_Variable, string currentType, string currentMethod, string currentParameter ) : bool

Returns if an identifier needs a dereference operation

NeedsForwardDeclaration ( string fw_dcl_type1, string &fw_dcl_type2 ) : bool

Returns if a forward declaration is needed between two types

OneInheritsFromOther ( string one, string other ) : bool
ProcessIncludes ( string typeDeclarationName ) : void

Makes the preprocessing of the includes list

RefactorAllIdentifiers ( AstNode node, string identifier, Expression newIdentifier ) : void
RefactorPropety ( Expression input, String currentTypeName, String accessor ) : Expression

Refactors the C# property accessors to methods (i.e getProperty() setProperty(value)

RefactorStringSwitchStatement ( SwitchStatement switchStatement ) : String
RemoveHeaderNode ( AstNode node, TypeDeclaration type ) : void

Removes a node from the header nodes list of a specified type

RemoveInclude ( string typeName ) : void
ResolveMemberType ( CSharp mref ) : Mono.Cecil.TypeDefinition
ResolveNamespace ( string type ) : string

Resolves the namespace of a given type name

Restart ( ) : void

Restarts the resolver class variables

TryPatchTemplateToObjectType ( AstType type, AstType &newType ) : bool

Converts template types to Object type (useful for inline methods and template specialization types)

비공개 메소드들

메소드 설명
IdentifierIsEvent ( string identifier, string &type ) : bool

Returns if an identifier belongs to an event type

Reaches ( string type1, string type2, Dictionary includes ) : bool

Tells if one type includes other type (recursively)

Resolver ( ) : System

메소드 상세

AddDefaultConstructor() 공개 정적인 메소드

public static AddDefaultConstructor ( TypeDeclaration type, List extraStatements = null ) : void
type TypeDeclaration
extraStatements List
리턴 void

AddToStringMethod() 공개 정적인 메소드

public static AddToStringMethod ( TypeDeclaration type ) : void
type TypeDeclaration
리턴 void

ConvertToExternTypeArguments() 공개 정적인 메소드

public static ConvertToExternTypeArguments ( AstNodeCollection parameters ) : List
parameters AstNodeCollection
리턴 List

ConvertToExternTypeParameters() 공개 정적인 메소드

public static ConvertToExternTypeParameters ( AstNodeCollection parameters ) : AstNodeCollection
parameters AstNodeCollection
리턴 AstNodeCollection

DereferenceMembers() 공개 정적인 메소드

public static DereferenceMembers ( AstNode node, string identifier ) : void
node AstNode
identifier string
리턴 void

ExtractAllTypesFrom() 공개 정적인 메소드

public static ExtractAllTypesFrom ( AstNodeCollection elist ) : List
elist AstNodeCollection
리턴 List

ExtractAllTypesFrom() 공개 정적인 메소드

public static ExtractAllTypesFrom ( Expression e ) : List
e Expression
리턴 List

GetChildrenOf() 공개 정적인 메소드

Returns the childs nodes of type specified by variable type
public static GetChildrenOf ( AstNode member, Type type ) : List
member AstNode Original node
type System.Type Target type of
리턴 List

GetChildrenOf() 공개 정적인 메소드

Returns the childs nodes of type specified by variable type
public static GetChildrenOf ( CSharp member, Type type ) : List
member CSharp Original node
type System.Type Target type of
리턴 List

GetCppName() 공개 정적인 메소드

Tries to extract the C++ name of a C# name
public static GetCppName ( string CSharpName ) : string
CSharpName string
리턴 string

GetDelegateArgs() 공개 정적인 메소드

Returns the arguments of a delegate type
public static GetDelegateArgs ( String type ) : ParameterDeclaration[]
type String The delegate type
리턴 ParameterDeclaration[]

GetDelegateArgsNum() 공개 정적인 메소드

Returns the number of input arguments of a delegate type
public static GetDelegateArgsNum ( String type ) : int
type String The delegate type
리턴 int

GetDelegateReturnType() 공개 정적인 메소드

Returns the return type name of a delegate type
public static GetDelegateReturnType ( String identifier ) : string
identifier String Delegate type
리턴 string

GetEntryPointFromDllImport() 공개 정적인 메소드

Returns the name of the target external function
public static GetEntryPointFromDllImport ( CSharp attributes ) : string
attributes CSharp
리턴 string

GetExplicitInterfaceTypes() 공개 정적인 메소드

Builds and adds the needed nested types in a current type representing explicit interfaces
public static GetExplicitInterfaceTypes ( TypeDeclaration currentType ) : void
currentType TypeDeclaration
리턴 void

GetExtraDLLs() 공개 정적인 메소드

public static GetExtraDLLs ( ) : List
리턴 List

GetHeaderNode() 공개 정적인 메소드

Return a header node form of a specified standard node
public static GetHeaderNode ( AstNode node, AstNode headerNode ) : void
node AstNode
headerNode AstNode
리턴 void

GetInlineConversionConstructorDeclarationCall() 공개 정적인 메소드

Returns the member string for calling a conversion constructor declaration: i.e. operator IB*();
public static GetInlineConversionConstructorDeclarationCall ( ConversionConstructorDeclaration conv ) : string
conv ConversionConstructorDeclaration The conversion constructor declaration
리턴 string

GetLibraryFromDllImport() 공개 정적인 메소드

Gets the library in which the external method is located
public static GetLibraryFromDllImport ( CSharp attributes ) : string
attributes CSharp
리턴 string

GetNeededNamespaces() 공개 정적인 메소드

Gets the needed namespaces of the current type
public static GetNeededNamespaces ( ) : string[]
리턴 string[]

GetParentOf() 공개 정적인 메소드

Returns the first parent node of type specified by variable type
public static GetParentOf ( AstNode member, Type type ) : AstNode
member AstNode Original node
type System.Type Target type of
리턴 AstNode

GetParentOf() 공개 정적인 메소드

Returns the first parent node of type specified by variable type
public static GetParentOf ( CSharp member, Type type ) : CSharp.AstNode
member CSharp Original node
type System.Type Target type of
리턴 CSharp.AstNode

GetType() 공개 정적인 메소드

Tries to combine all of the provided parameters to extract the AstType class of an object with the identifier specified (Extracts the type of Field or variable, or parameters)
public static GetType ( string currentField_Variable, string currentType, string currentMethod, string currentParameter ) : AstType
currentField_Variable string
currentType string
currentMethod string
currentParameter string
리턴 AstType

GetTypeIncludes() 공개 정적인 메소드

Gets the types have to be included
public static GetTypeIncludes ( ) : string[]
리턴 string[]

GetTypeName() 공개 정적인 메소드

Returns the name of a given AstType
public static GetTypeName ( Ast type ) : string
type Ast
리턴 string

GetTypeName() 공개 정적인 메소드

Returns the name of a given AstType
public static GetTypeName ( CSharp type ) : string
type CSharp
리턴 string

HasChildOf() 공개 정적인 메소드

Returns if the node has a child of a specified type
public static HasChildOf ( AstNode member, Type type ) : bool
member AstNode Original node
type System.Type Target type of
리턴 bool

HasChildOf() 공개 정적인 메소드

Returns if the node has a child of a specified type
public static HasChildOf ( CSharp member, Type type ) : bool
member CSharp Original node
type System.Type Target type of
리턴 bool

IdentifierIsDelegate() 공개 정적인 메소드

Returns if an identifier belongs to a delegate type
public static IdentifierIsDelegate ( String identifier, String &type ) : bool
identifier String The identifier
type String Out variable: the type delegate if found
리턴 bool

InferNamespace() 공개 정적인 메소드

public static InferNamespace ( CSharp type ) : string
type CSharp
리턴 string

IsChildOf() 공개 정적인 메소드

Checks if the node is child of other node of the specified type
public static IsChildOf ( AstNode member, Type type ) : bool
member AstNode Node
type System.Type Type of the parent node
리턴 bool

IsChildOf() 공개 정적인 메소드

Checks if the node is child of other node of the specified type
public static IsChildOf ( CSharp member, Type type ) : bool
member CSharp Node
type System.Type Type of the parent node
리턴 bool

IsCustomEventCall() 공개 정적인 메소드

Returns if a member reference expression in C# is a call over a C# custom event
public static IsCustomEventCall ( MemberReferenceExpression memberReferenceExpression, string currentTypeName ) : bool
memberReferenceExpression MemberReferenceExpression
currentTypeName string
리턴 bool

IsDLLImportMethod() 공개 정적인 메소드

Returns if a method is marked as an external method or not
public static IsDLLImportMethod ( CSharp method ) : bool
method CSharp
리턴 bool

IsDelegateType() 공개 정적인 메소드

Returns if the specified type name is a delegate type
public static IsDelegateType ( AstType type ) : bool
type AstType Identifier
리턴 bool

IsDelegateType() 공개 정적인 메소드

Returns if the specified type name is a delegate type
public static IsDelegateType ( CSharp type ) : bool
type CSharp Identifier
리턴 bool

IsDelegateType() 공개 정적인 메소드

Returns if the specified type name is a delegate type
public static IsDelegateType ( String type ) : bool
type String Identifier
리턴 bool

IsDirectChildOf() 공개 정적인 메소드

Checks if the node is direct child of other node of the specified type
public static IsDirectChildOf ( AstNode member, Type type ) : bool
member AstNode Node
type System.Type Type of the parent node
리턴 bool

IsDirectChildOf() 공개 정적인 메소드

Checks if the node is direct child of other node of the specified type
public static IsDirectChildOf ( CSharp member, Type type ) : bool
member CSharp Node
type System.Type Type of the parent node
리턴 bool

IsEnumType() 공개 정적인 메소드

Returns if a type is Enum type
public static IsEnumType ( String type ) : bool
type String
리턴 bool

IsLibraryType() 공개 정적인 메소드

Tells if a specified type is mapped with a library file
public static IsLibraryType ( string type ) : bool
type string
리턴 bool

IsPointer() 공개 정적인 메소드

Returns if an identifier is a pointer expression. This method checks if the identifier (declared in a method parameter, method variable, or class field) is a pointer. The method will search the identifier depending of the filled parameters or the null parameters CurrentType + currentFieldVarialbe CurrentMethod + CurrentParameter CurrentMethod + CurrentField_Variable
public static IsPointer ( string currentField_Variable, string currentType, string currentMethod, string currentParameter ) : bool
currentField_Variable string The variable or field that is being checked
currentType string The current type name
currentMethod string The current method
currentParameter string The parameter that is being checked
리턴 bool

IsPropertyCall() 공개 정적인 메소드

Returns if a member reference expression in C# is a call over a C# property
public static IsPropertyCall ( MemberReferenceExpression memberReferenceExpression, string currentTypeName ) : bool
memberReferenceExpression MemberReferenceExpression
currentTypeName string
리턴 bool

IsStringSwitch() 공개 정적인 메소드

public static IsStringSwitch ( SwitchStatement switchStatement ) : bool
switchStatement SwitchStatement
리턴 bool

IsStructReference() 공개 정적인 메소드

Returns if a member reference expression in C# is a call over a struct
public static IsStructReference ( MemberReferenceExpression memberReferenceExpression, string currentTypeName, string currentMethodName ) : bool
memberReferenceExpression MemberReferenceExpression
currentTypeName string
currentMethodName string
리턴 bool

IsStructType() 공개 정적인 메소드

public static IsStructType ( String type ) : bool
type String
리턴 bool

IsSynchronizedMethod() 공개 정적인 메소드

Returns if a method is marked as synchronized or not
public static IsSynchronizedMethod ( CSharp method ) : bool
method CSharp
리턴 bool

IsSynchronizedMethod() 공개 정적인 메소드

Returns if a method is marked as synchronized or not
public static IsSynchronizedMethod ( MethodDeclaration method ) : bool
method MethodDeclaration
리턴 bool

IsTemplatizedAbstractMethod() 공개 정적인 메소드

Returns if a method is an abstract method returning a templatized type (useful for avoiding covariance errors)
public static IsTemplatizedAbstractMethod ( string type, string method ) : bool
type string
method string
리턴 bool

IsTemplatizedType() 공개 정적인 메소드

Returns if a type has template arguments
public static IsTemplatizedType ( AstType type ) : bool
type AstType
리턴 bool

IsTemplatizedType() 공개 정적인 메소드

Returns if a type has template arguments
public static IsTemplatizedType ( CSharp type ) : bool
type CSharp
리턴 bool

IsTypeArgument() 공개 정적인 메소드

Returns if a specified type is a type argument
public static IsTypeArgument ( AstType type ) : bool
type AstType
리턴 bool

IsUnsafe() 공개 정적인 메소드

Returns if an identifier is an unsafe expression. This method checks if the identifier (declared in a method parameter, method variable, or class field) is an unsasfe pointer variable. The method will search the identifier depending of the filled parameters or the null parameters CurrentType + currentFieldVarialbe CurrentMethod + CurrentParameter CurrentMethod + CurrentField_Variable
public static IsUnsafe ( string currentField_Variable, string currentType, string currentMethod, string currentParameter ) : bool
currentField_Variable string The variable or field that is being checked
currentType string The current type name
currentMethod string The current method
currentParameter string The parameter that is being checked
리턴 bool

IsValueType() 공개 정적인 메소드

public static IsValueType ( string currentNamespace, string type ) : bool
currentNamespace string
type string
리턴 bool

NeedsDereference() 공개 정적인 메소드

Returns if a node (i.e expression, identifier...) needs a dereference
public static NeedsDereference ( CSharp node, string currentType, string currentMethod ) : bool
node CSharp
currentType string
currentMethod string
리턴 bool

NeedsDereference() 공개 정적인 메소드

Returns if an identifier needs a dereference operation
public static NeedsDereference ( string currentField_Variable, string currentType, string currentMethod, string currentParameter ) : bool
currentField_Variable string Variable or field to look for
currentType string Current type
currentMethod string CurrentMethod
currentParameter string Parameter to look for
리턴 bool

NeedsForwardDeclaration() 공개 정적인 메소드

Returns if a forward declaration is needed between two types
public static NeedsForwardDeclaration ( string fw_dcl_type1, string &fw_dcl_type2 ) : bool
fw_dcl_type1 string The type to test
fw_dcl_type2 string If the method is true, the second type is placed here
리턴 bool

OneInheritsFromOther() 공개 정적인 메소드

public static OneInheritsFromOther ( string one, string other ) : bool
one string
other string
리턴 bool

ProcessIncludes() 공개 정적인 메소드

Makes the preprocessing of the includes list
public static ProcessIncludes ( string typeDeclarationName ) : void
typeDeclarationName string
리턴 void

RefactorAllIdentifiers() 공개 정적인 메소드

public static RefactorAllIdentifiers ( AstNode node, string identifier, Expression newIdentifier ) : void
node AstNode
identifier string
newIdentifier Expression
리턴 void

RefactorPropety() 공개 정적인 메소드

Refactors the C# property accessors to methods (i.e getProperty() setProperty(value)
public static RefactorPropety ( Expression input, String currentTypeName, String accessor ) : Expression
input Expression Property expression
currentTypeName String Current type deompliated
accessor String Get or Set accessor
리턴 Expression

RefactorStringSwitchStatement() 공개 정적인 메소드

public static RefactorStringSwitchStatement ( SwitchStatement switchStatement ) : String
switchStatement SwitchStatement
리턴 String

RemoveHeaderNode() 공개 정적인 메소드

Removes a node from the header nodes list of a specified type
public static RemoveHeaderNode ( AstNode node, TypeDeclaration type ) : void
node AstNode
type TypeDeclaration
리턴 void

RemoveInclude() 공개 정적인 메소드

public static RemoveInclude ( string typeName ) : void
typeName string
리턴 void

ResolveMemberType() 공개 정적인 메소드

public static ResolveMemberType ( CSharp mref ) : Mono.Cecil.TypeDefinition
mref CSharp
리턴 Mono.Cecil.TypeDefinition

ResolveNamespace() 공개 정적인 메소드

Resolves the namespace of a given type name
public static ResolveNamespace ( string type ) : string
type string
리턴 string

Restart() 공개 정적인 메소드

Restarts the resolver class variables
public static Restart ( ) : void
리턴 void

TryPatchTemplateToObjectType() 공개 정적인 메소드

Converts template types to Object type (useful for inline methods and template specialization types)
public static TryPatchTemplateToObjectType ( AstType type, AstType &newType ) : bool
type AstType
newType AstType
리턴 bool

프로퍼티 상세

boostLink 공개적으로 정적으로 프로퍼티

public static bool boostLink
리턴 bool