C# Class MonoDevelop.TypeScriptBinding.TypeScriptResolver

Contains the main resolver logic.
This class is thread-safe.
Mostra file Open project: atsushieno/md-typescript Class Usage Examples

Public Methods

Method Description
AddVariable ( IVariable variable ) : TypeScriptResolver

Adds a new variable or lambda parameter to the current block.

CreateMemberLookup ( ) : MemberLookup

Creates a MemberLookup instance using this resolver's settings.

CreateMemberLookup ( NameLookupMode lookupMode ) : MemberLookup

Creates a MemberLookup instance using this resolver's settings.

GetDefaultValue ( IType type ) : object
GetExtensionMethods ( IType targetType, string name = null, IList typeArguments = null, bool substituteInferredTypes = false ) : List>

Gets the extension methods that are called 'name' and are applicable with a first argument type of 'targetType'.

The results are stored in nested lists because they are grouped by using scope. That is, for "using SomeExtensions; namespace X { using MoreExtensions; ... }", the return value will be new List { new List { all extensions from MoreExtensions }, new List { all extensions from SomeExtensions } }

GetExtensionMethods ( string name = null, IList typeArguments = null ) : List>

Gets all extension methods that are available in the current context.

The results are stored in nested lists because they are grouped by using scope. That is, for "using SomeExtensions; namespace X { using MoreExtensions; ... }", the return value will be new List { new List { all extensions from MoreExtensions }, new List { all extensions from SomeExtensions } }

IsEligibleExtensionMethod ( IType targetType, IMethod method, bool useTypeInference, IType &outInferredTypes ) : bool

Checks whether the specified extension method is eligible on the target type.

IsVariableReferenceWithSameType ( ICSharpCode.NRefactory.Semantics.ResolveResult rr, string identifier, ICSharpCode.NRefactory.Semantics.TypeResolveResult &trr ) : bool
LookupSimpleNameOrTypeName ( string identifier, IList typeArguments, NameLookupMode lookupMode ) : ICSharpCode.NRefactory.Semantics.ResolveResult
PopBlock ( ) : TypeScriptResolver

Closes the current scope for local variables; removing all variables in that scope.

PopLastVariable ( ) : TypeScriptResolver

Removes the variable that was just added.

PopObjectInitializer ( ) : TypeScriptResolver
PushBlock ( ) : TypeScriptResolver

Opens a new scope for local variables.

PushObjectInitializer ( ICSharpCode.NRefactory.Semantics.ResolveResult initializedObject ) : TypeScriptResolver

Pushes the type of the object that is currently being initialized.

ResolveAlias ( string identifier ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Looks up an alias (identifier in front of :: operator)

ResolveArrayCreation ( IType elementType, ICSharpCode.NRefactory.Semantics.ResolveResult sizeArguments, ICSharpCode.NRefactory.Semantics.ResolveResult initializerElements = null ) : ICSharpCode.NRefactory.Semantics.ArrayCreateResolveResult

Resolves an array creation.

ResolveArrayCreation ( IType elementType, int sizeArguments, ICSharpCode.NRefactory.Semantics.ResolveResult initializerElements = null ) : ICSharpCode.NRefactory.Semantics.ArrayCreateResolveResult

Resolves an array creation.

ResolveAssignment ( AssignmentOperatorType op, ICSharpCode.NRefactory.Semantics.ResolveResult lhs, ICSharpCode.NRefactory.Semantics.ResolveResult rhs ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveBaseReference ( ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Resolves 'base'.

ResolveBinaryOperator ( BinaryOperatorType op, ICSharpCode.NRefactory.Semantics.ResolveResult lhs, ICSharpCode.NRefactory.Semantics.ResolveResult rhs ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveCast ( IType targetType, ICSharpCode.NRefactory.Semantics.ResolveResult expression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveCondition ( ICSharpCode.NRefactory.Semantics.ResolveResult input ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Converts the input to bool using the rules for boolean expressions. That is, operator true is used if a regular conversion to bool is not possible.

ResolveConditionFalse ( ICSharpCode.NRefactory.Semantics.ResolveResult input ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Converts the negated input to bool using the rules for boolean expressions. Computes !(bool)input if the implicit cast to bool is valid; otherwise computes input.operator false().

ResolveConditional ( ICSharpCode.NRefactory.Semantics.ResolveResult condition, ICSharpCode.NRefactory.Semantics.ResolveResult trueExpression, ICSharpCode.NRefactory.Semantics.ResolveResult falseExpression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveDefaultValue ( IType type ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveIdentifierInObjectInitializer ( string identifier ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveIndexer ( ICSharpCode.NRefactory.Semantics.ResolveResult target, ICSharpCode.NRefactory.Semantics.ResolveResult arguments, string argumentNames = null ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Resolves an indexer access.

ResolveInvocation ( ICSharpCode.NRefactory.Semantics.ResolveResult target, ICSharpCode.NRefactory.Semantics.ResolveResult arguments, string argumentNames = null ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Resolves an invocation.

ResolveMemberAccess ( ICSharpCode.NRefactory.Semantics.ResolveResult target, string identifier, IList typeArguments, NameLookupMode lookupMode = NameLookupMode.Expression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveObjectCreation ( IType type, ICSharpCode.NRefactory.Semantics.ResolveResult arguments, string argumentNames = null, bool allowProtectedAccess = false, IList initializerStatements = null ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Resolves an object creation.

ResolvePrimitive ( object value ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveSimpleName ( string identifier, IList typeArguments, bool isInvocationTarget = false ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveSizeOf ( IType type ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Resolves 'sizeof(type)'.

ResolveThisReference ( ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Resolves 'this'.

ResolveTypeOf ( IType referencedType ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveUnaryOperator ( UnaryOperatorType op, ICSharpCode.NRefactory.Semantics.ResolveResult expression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
TypeScriptResolver ( ICompilation compilation ) : System
TypeScriptResolver ( TypeScriptTypeResolveContext context ) : System
WithCheckForOverflow ( bool checkForOverflow ) : TypeScriptResolver

Sets whether the current context is checked.

WithCurrentMember ( IMember member ) : TypeScriptResolver

Sets the current member definition.

Don't forget to also set CurrentTypeDefinition when setting CurrentMember; setting one of the properties does not automatically set the other.

WithCurrentTypeDefinition ( ITypeDefinition typeDefinition ) : TypeScriptResolver

Sets the current type definition.

WithCurrentUsingScope ( ResolvedUsingScope usingScope ) : TypeScriptResolver

Sets the current using scope that is used to look up identifiers as class names.

WithIsWithinLambdaExpression ( bool isWithinLambdaExpression ) : TypeScriptResolver

Sets whether the resolver is currently within a lambda expression.

Private Methods

Method Description
AddArgumentNamesIfNecessary ( ICSharpCode.NRefactory.Semantics.ResolveResult arguments, string argumentNames ) : IList
AdjustArrayAccessArguments ( ICSharpCode.NRefactory.Semantics.ResolveResult arguments ) : void

Converts all arguments to int,uint,long or ulong.

BinaryNumericPromotion ( bool isNullable, ICSharpCode.NRefactory.Semantics.ResolveResult &lhs, ICSharpCode.NRefactory.Semantics.ResolveResult &rhs, bool allowNullableConstants ) : bool
BinaryOperatorResolveResult ( IType resultType, ICSharpCode.NRefactory.Semantics.ResolveResult lhs, BinaryOperatorType op, ICSharpCode.NRefactory.Semantics.ResolveResult rhs, bool isLifted = false ) : ICSharpCode.NRefactory.Semantics.ResolveResult
CSharpPrimitiveCast ( TypeCode targetType, object input ) : object
CastTo ( TypeCode targetType, bool isNullable, ICSharpCode.NRefactory.Semantics.ResolveResult expression, bool allowNullableConstants ) : ICSharpCode.NRefactory.Semantics.ResolveResult
CheckErrorAndResolveUncheckedCast ( IType targetType, ICSharpCode.NRefactory.Semantics.ResolveResult expression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
Clone ( ) : TypeScriptResolver
Convert ( ICSharpCode.NRefactory.Semantics.ResolveResult rr, IType targetType ) : ICSharpCode.NRefactory.Semantics.ResolveResult
Convert ( ICSharpCode.NRefactory.Semantics.ResolveResult rr, IType targetType, Conversion c ) : ICSharpCode.NRefactory.Semantics.ResolveResult
CreateOverloadResolution ( ICSharpCode.NRefactory.Semantics.ResolveResult arguments, string argumentNames = null, IType typeArguments = null ) : OverloadResolution
CreateParameters ( ICSharpCode.NRefactory.Semantics.ResolveResult arguments, string argumentNames ) : List
CreateResolveResultForUserDefinedOperator ( OverloadResolution r, System operatorType ) : ICSharpCode.NRefactory.Semantics.ResolveResult
GetAllExtensionMethods ( ) : IList>

Gets all extension methods available in the current using scope. This list includes unaccessible

GetEnumUnderlyingType ( IType enumType ) : IType
GetExtensionMethods ( INamespace ns ) : IEnumerable
GetOverloadableOperatorName ( BinaryOperatorType op ) : string
GetOverloadableOperatorName ( UnaryOperatorType op ) : string
GetUserDefinedOperatorCandidates ( IType type, string operatorName ) : IEnumerable
GuessParameterName ( ICSharpCode.NRefactory.Semantics.ResolveResult rr ) : string
HandleEnumComparison ( BinaryOperatorType op, IType enumType, bool isNullable, ICSharpCode.NRefactory.Semantics.ResolveResult lhs, ICSharpCode.NRefactory.Semantics.ResolveResult rhs ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Handle the case where an enum value is compared with another enum value bool operator op(E x, E y);

HandleEnumOperator ( bool isNullable, IType enumType, BinaryOperatorType op, ICSharpCode.NRefactory.Semantics.ResolveResult lhs, ICSharpCode.NRefactory.Semantics.ResolveResult rhs ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Handle the following enum operators: E operator +(E x, U y); E operator +(U x, E y); E operator –(E x, U y); E operator &(E x, E y); E operator |(E x, E y); E operator ^(E x, E y);

HandleEnumSubtraction ( bool isNullable, IType enumType, ICSharpCode.NRefactory.Semantics.ResolveResult lhs, ICSharpCode.NRefactory.Semantics.ResolveResult rhs ) : ICSharpCode.NRefactory.Semantics.ResolveResult

Handle the case where an enum value is subtracted from another enum value U operator –(E x, E y);

HasType ( ICSharpCode.NRefactory.Semantics.ResolveResult r ) : bool
IsBetterConditionalConversion ( Conversion c1, Conversion c2 ) : bool
IsComparisonOperator ( IMethod m ) : bool
IsEligibleExtensionMethod ( ICompilation compilation, CSharpConversions conversions, IType targetType, IMethod method, bool useTypeInference, IType &outInferredTypes ) : bool
IsNullableTypeOrNonValueType ( IType type ) : bool
IsSigned ( TypeCode code, ICSharpCode.NRefactory.Semantics.ResolveResult rr ) : bool
LiftUserDefinedOperator ( IMethod m ) : LiftedUserDefinedOperator
LiftUserDefinedOperators ( List operators ) : void
LookInCurrentType ( string identifier, IList typeArguments, NameLookupMode lookupMode, bool parameterizeResultType ) : ICSharpCode.NRefactory.Semantics.ResolveResult
LookInCurrentUsingScope ( string identifier, IList typeArguments, bool isInUsingDeclaration, bool parameterizeResultType ) : ICSharpCode.NRefactory.Semantics.ResolveResult
LookInUsingScopeNamespace ( ResolvedUsingScope usingScope, INamespace n, string identifier, IList typeArguments, bool parameterizeResultType ) : ICSharpCode.NRefactory.Semantics.ResolveResult
MakeNullable ( IType type, bool isNullable ) : IType
MakeParameterName ( string variableName ) : string
PointerArithmeticOperator ( IType resultType, IType inputType1, IType inputType2 ) : CSharpOperators.BinaryOperatorMethod
PointerArithmeticOperator ( IType resultType, IType inputType1, KnownTypeCode inputType2 ) : CSharpOperators.BinaryOperatorMethod
PointerArithmeticOperator ( IType resultType, KnownTypeCode inputType1, IType inputType2 ) : CSharpOperators.BinaryOperatorMethod
ResolveExternAlias ( string alias ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveMemberAccessOnNamespace ( ICSharpCode.NRefactory.Semantics.NamespaceResolveResult nrr, string identifier, IList typeArguments, bool parameterizeResultType ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveMemberType ( ICSharpCode.NRefactory.Semantics.ResolveResult target, string identifier, IList typeArguments ) : ICSharpCode.NRefactory.Semantics.ResolveResult
ResolveNullCoalescingOperator ( ICSharpCode.NRefactory.Semantics.ResolveResult lhs, ICSharpCode.NRefactory.Semantics.ResolveResult rhs ) : ICSharpCode.NRefactory.Semantics.ResolveResult
TopLevelTypeDefinitionIsAccessible ( ITypeDefinition typeDef ) : bool
TryConvert ( ICSharpCode.NRefactory.Semantics.ResolveResult &rr, IType targetType ) : bool
TypeScriptResolver ( ICompilation compilation, TypeScriptConversions conversions, TypeScriptTypeResolveContext context, bool checkForOverflow, bool isWithinLambdaExpression, TypeDefinitionCache currentTypeDefinitionCache, ImmutableStack localVariableStack, ObjectInitializerContext objectInitializerStack ) : System
UnaryNumericPromotion ( UnaryOperatorType op, IType &type, bool isNullable, ICSharpCode.NRefactory.Semantics.ResolveResult expression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
UnaryOperatorResolveResult ( IType resultType, UnaryOperatorType op, ICSharpCode.NRefactory.Semantics.ResolveResult expression, bool isLifted = false ) : ICSharpCode.NRefactory.Semantics.OperatorResolveResult
WithContext ( TypeScriptTypeResolveContext newContext ) : TypeScriptResolver
WithLocalVariableStack ( ImmutableStack stack ) : TypeScriptResolver
WithObjectInitializerStack ( ObjectInitializerContext stack ) : TypeScriptResolver

Method Details

AddVariable() public method

Adds a new variable or lambda parameter to the current block.
public AddVariable ( IVariable variable ) : TypeScriptResolver
variable IVariable
return TypeScriptResolver

CreateMemberLookup() public method

Creates a MemberLookup instance using this resolver's settings.
public CreateMemberLookup ( ) : MemberLookup
return MemberLookup

CreateMemberLookup() public method

Creates a MemberLookup instance using this resolver's settings.
public CreateMemberLookup ( NameLookupMode lookupMode ) : MemberLookup
lookupMode NameLookupMode
return MemberLookup

GetDefaultValue() public static method

public static GetDefaultValue ( IType type ) : object
type IType
return object

GetExtensionMethods() public method

Gets the extension methods that are called 'name' and are applicable with a first argument type of 'targetType'.
The results are stored in nested lists because they are grouped by using scope. That is, for "using SomeExtensions; namespace X { using MoreExtensions; ... }", the return value will be new List { new List { all extensions from MoreExtensions }, new List { all extensions from SomeExtensions } }
public GetExtensionMethods ( IType targetType, string name = null, IList typeArguments = null, bool substituteInferredTypes = false ) : List>
targetType IType Type of the 'this' argument
name string Name of the extension method. Pass null to retrieve all extension methods.
typeArguments IList Explicitly provided type arguments. /// An empty list will return all matching extension method definitions; /// a non-empty list will return s for all extension methods /// with the matching number of type parameters.
substituteInferredTypes bool /// Specifies whether to produce a /// when type arguments could be inferred from . This parameter /// is only used for inferred types and has no effect if is non-empty. ///
return List>

GetExtensionMethods() public method

Gets all extension methods that are available in the current context.
The results are stored in nested lists because they are grouped by using scope. That is, for "using SomeExtensions; namespace X { using MoreExtensions; ... }", the return value will be new List { new List { all extensions from MoreExtensions }, new List { all extensions from SomeExtensions } }
public GetExtensionMethods ( string name = null, IList typeArguments = null ) : List>
name string Name of the extension method. Pass null to retrieve all extension methods.
typeArguments IList Explicitly provided type arguments. /// An empty list will return all matching extension method definitions; /// a non-empty list will return s for all extension methods /// with the matching number of type parameters.
return List>

IsEligibleExtensionMethod() public static method

Checks whether the specified extension method is eligible on the target type.
public static IsEligibleExtensionMethod ( IType targetType, IMethod method, bool useTypeInference, IType &outInferredTypes ) : bool
targetType IType Target type that is passed as first argument to the extension method.
method IMethod The extension method.
useTypeInference bool Whether to perform type inference for the method. /// Use false if is already specialized (e.g. when type arguments were given explicitly). /// Otherwise, use true. ///
outInferredTypes IType If the method is generic and is true, /// and at least some of the type arguments could be inferred, this parameter receives the inferred type arguments. /// Since only the type for the first parameter is considered, not all type arguments may be inferred. /// If an array is returned, any slot with an uninferred type argument will be set to the method's /// corresponding type parameter. ///
return bool

IsVariableReferenceWithSameType() public method

public IsVariableReferenceWithSameType ( ICSharpCode.NRefactory.Semantics.ResolveResult rr, string identifier, ICSharpCode.NRefactory.Semantics.TypeResolveResult &trr ) : bool
rr ICSharpCode.NRefactory.Semantics.ResolveResult
identifier string
trr ICSharpCode.NRefactory.Semantics.TypeResolveResult
return bool

LookupSimpleNameOrTypeName() public method

public LookupSimpleNameOrTypeName ( string identifier, IList typeArguments, NameLookupMode lookupMode ) : ICSharpCode.NRefactory.Semantics.ResolveResult
identifier string
typeArguments IList
lookupMode NameLookupMode
return ICSharpCode.NRefactory.Semantics.ResolveResult

PopBlock() public method

Closes the current scope for local variables; removing all variables in that scope.
public PopBlock ( ) : TypeScriptResolver
return TypeScriptResolver

PopLastVariable() public method

Removes the variable that was just added.
public PopLastVariable ( ) : TypeScriptResolver
return TypeScriptResolver

PopObjectInitializer() public method

public PopObjectInitializer ( ) : TypeScriptResolver
return TypeScriptResolver

PushBlock() public method

Opens a new scope for local variables.
public PushBlock ( ) : TypeScriptResolver
return TypeScriptResolver

PushObjectInitializer() public method

Pushes the type of the object that is currently being initialized.
public PushObjectInitializer ( ICSharpCode.NRefactory.Semantics.ResolveResult initializedObject ) : TypeScriptResolver
initializedObject ICSharpCode.NRefactory.Semantics.ResolveResult
return TypeScriptResolver

ResolveAlias() public method

Looks up an alias (identifier in front of :: operator)
public ResolveAlias ( string identifier ) : ICSharpCode.NRefactory.Semantics.ResolveResult
identifier string
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveArrayCreation() public method

Resolves an array creation.
public ResolveArrayCreation ( IType elementType, ICSharpCode.NRefactory.Semantics.ResolveResult sizeArguments, ICSharpCode.NRefactory.Semantics.ResolveResult initializerElements = null ) : ICSharpCode.NRefactory.Semantics.ArrayCreateResolveResult
elementType IType /// The array element type. /// Pass null to resolve an implicitly-typed array creation. ///
sizeArguments ICSharpCode.NRefactory.Semantics.ResolveResult /// The size arguments. /// The length of this array will be used as the number of dimensions of the array type. /// The resolver may mutate this array to wrap elements in s! ///
initializerElements ICSharpCode.NRefactory.Semantics.ResolveResult /// The initializer elements. May be null if no array initializer was specified. /// The resolver may mutate this array to wrap elements in s! ///
return ICSharpCode.NRefactory.Semantics.ArrayCreateResolveResult

ResolveArrayCreation() public method

Resolves an array creation.
public ResolveArrayCreation ( IType elementType, int sizeArguments, ICSharpCode.NRefactory.Semantics.ResolveResult initializerElements = null ) : ICSharpCode.NRefactory.Semantics.ArrayCreateResolveResult
elementType IType /// The array element type. /// Pass null to resolve an implicitly-typed array creation. ///
sizeArguments int /// The size arguments. /// The length of this array will be used as the number of dimensions of the array type. /// Negative values will be treated as errors. ///
initializerElements ICSharpCode.NRefactory.Semantics.ResolveResult /// The initializer elements. May be null if no array initializer was specified. /// The resolver may mutate this array to wrap elements in s! ///
return ICSharpCode.NRefactory.Semantics.ArrayCreateResolveResult

ResolveAssignment() public method

public ResolveAssignment ( AssignmentOperatorType op, ICSharpCode.NRefactory.Semantics.ResolveResult lhs, ICSharpCode.NRefactory.Semantics.ResolveResult rhs ) : ICSharpCode.NRefactory.Semantics.ResolveResult
op AssignmentOperatorType
lhs ICSharpCode.NRefactory.Semantics.ResolveResult
rhs ICSharpCode.NRefactory.Semantics.ResolveResult
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveBaseReference() public method

Resolves 'base'.
public ResolveBaseReference ( ) : ICSharpCode.NRefactory.Semantics.ResolveResult
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveBinaryOperator() public method

public ResolveBinaryOperator ( BinaryOperatorType op, ICSharpCode.NRefactory.Semantics.ResolveResult lhs, ICSharpCode.NRefactory.Semantics.ResolveResult rhs ) : ICSharpCode.NRefactory.Semantics.ResolveResult
op BinaryOperatorType
lhs ICSharpCode.NRefactory.Semantics.ResolveResult
rhs ICSharpCode.NRefactory.Semantics.ResolveResult
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveCast() public method

public ResolveCast ( IType targetType, ICSharpCode.NRefactory.Semantics.ResolveResult expression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
targetType IType
expression ICSharpCode.NRefactory.Semantics.ResolveResult
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveCondition() public method

Converts the input to bool using the rules for boolean expressions. That is, operator true is used if a regular conversion to bool is not possible.
public ResolveCondition ( ICSharpCode.NRefactory.Semantics.ResolveResult input ) : ICSharpCode.NRefactory.Semantics.ResolveResult
input ICSharpCode.NRefactory.Semantics.ResolveResult
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveConditionFalse() public method

Converts the negated input to bool using the rules for boolean expressions. Computes !(bool)input if the implicit cast to bool is valid; otherwise computes input.operator false().
public ResolveConditionFalse ( ICSharpCode.NRefactory.Semantics.ResolveResult input ) : ICSharpCode.NRefactory.Semantics.ResolveResult
input ICSharpCode.NRefactory.Semantics.ResolveResult
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveConditional() public method

public ResolveConditional ( ICSharpCode.NRefactory.Semantics.ResolveResult condition, ICSharpCode.NRefactory.Semantics.ResolveResult trueExpression, ICSharpCode.NRefactory.Semantics.ResolveResult falseExpression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
condition ICSharpCode.NRefactory.Semantics.ResolveResult
trueExpression ICSharpCode.NRefactory.Semantics.ResolveResult
falseExpression ICSharpCode.NRefactory.Semantics.ResolveResult
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveDefaultValue() public method

public ResolveDefaultValue ( IType type ) : ICSharpCode.NRefactory.Semantics.ResolveResult
type IType
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveIdentifierInObjectInitializer() public method

public ResolveIdentifierInObjectInitializer ( string identifier ) : ICSharpCode.NRefactory.Semantics.ResolveResult
identifier string
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveIndexer() public method

Resolves an indexer access.
public ResolveIndexer ( ICSharpCode.NRefactory.Semantics.ResolveResult target, ICSharpCode.NRefactory.Semantics.ResolveResult arguments, string argumentNames = null ) : ICSharpCode.NRefactory.Semantics.ResolveResult
target ICSharpCode.NRefactory.Semantics.ResolveResult Target expression.
arguments ICSharpCode.NRefactory.Semantics.ResolveResult /// Arguments passed to the indexer. /// The resolver may mutate this array to wrap elements in s! ///
argumentNames string /// The argument names. Pass the null string for positional arguments. ///
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveInvocation() public method

Resolves an invocation.
public ResolveInvocation ( ICSharpCode.NRefactory.Semantics.ResolveResult target, ICSharpCode.NRefactory.Semantics.ResolveResult arguments, string argumentNames = null ) : ICSharpCode.NRefactory.Semantics.ResolveResult
target ICSharpCode.NRefactory.Semantics.ResolveResult The target of the invocation. Usually a MethodGroupResolveResult.
arguments ICSharpCode.NRefactory.Semantics.ResolveResult /// Arguments passed to the method. /// The resolver may mutate this array to wrap elements in s! ///
argumentNames string /// The argument names. Pass the null string for positional arguments. ///
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveMemberAccess() public method

public ResolveMemberAccess ( ICSharpCode.NRefactory.Semantics.ResolveResult target, string identifier, IList typeArguments, NameLookupMode lookupMode = NameLookupMode.Expression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
target ICSharpCode.NRefactory.Semantics.ResolveResult
identifier string
typeArguments IList
lookupMode NameLookupMode
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveObjectCreation() public method

Resolves an object creation.
public ResolveObjectCreation ( IType type, ICSharpCode.NRefactory.Semantics.ResolveResult arguments, string argumentNames = null, bool allowProtectedAccess = false, IList initializerStatements = null ) : ICSharpCode.NRefactory.Semantics.ResolveResult
type IType Type of the object to create.
arguments ICSharpCode.NRefactory.Semantics.ResolveResult /// Arguments passed to the constructor. /// The resolver may mutate this array to wrap elements in s! ///
argumentNames string /// The argument names. Pass the null string for positional arguments. ///
allowProtectedAccess bool /// Whether to allow calling protected constructors. /// This should be false except when resolving constructor initializers. ///
initializerStatements IList /// Statements for Objects/Collections initializer. /// ///
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolvePrimitive() public method

public ResolvePrimitive ( object value ) : ICSharpCode.NRefactory.Semantics.ResolveResult
value object
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveSimpleName() public method

public ResolveSimpleName ( string identifier, IList typeArguments, bool isInvocationTarget = false ) : ICSharpCode.NRefactory.Semantics.ResolveResult
identifier string
typeArguments IList
isInvocationTarget bool
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveSizeOf() public method

Resolves 'sizeof(type)'.
public ResolveSizeOf ( IType type ) : ICSharpCode.NRefactory.Semantics.ResolveResult
type IType
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveThisReference() public method

Resolves 'this'.
public ResolveThisReference ( ) : ICSharpCode.NRefactory.Semantics.ResolveResult
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveTypeOf() public method

public ResolveTypeOf ( IType referencedType ) : ICSharpCode.NRefactory.Semantics.ResolveResult
referencedType IType
return ICSharpCode.NRefactory.Semantics.ResolveResult

ResolveUnaryOperator() public method

public ResolveUnaryOperator ( UnaryOperatorType op, ICSharpCode.NRefactory.Semantics.ResolveResult expression ) : ICSharpCode.NRefactory.Semantics.ResolveResult
op UnaryOperatorType
expression ICSharpCode.NRefactory.Semantics.ResolveResult
return ICSharpCode.NRefactory.Semantics.ResolveResult

TypeScriptResolver() public method

public TypeScriptResolver ( ICompilation compilation ) : System
compilation ICompilation
return System

TypeScriptResolver() public method

public TypeScriptResolver ( TypeScriptTypeResolveContext context ) : System
context TypeScriptTypeResolveContext
return System

WithCheckForOverflow() public method

Sets whether the current context is checked.
public WithCheckForOverflow ( bool checkForOverflow ) : TypeScriptResolver
checkForOverflow bool
return TypeScriptResolver

WithCurrentMember() public method

Sets the current member definition.
Don't forget to also set CurrentTypeDefinition when setting CurrentMember; setting one of the properties does not automatically set the other.
public WithCurrentMember ( IMember member ) : TypeScriptResolver
member IMember
return TypeScriptResolver

WithCurrentTypeDefinition() public method

Sets the current type definition.
public WithCurrentTypeDefinition ( ITypeDefinition typeDefinition ) : TypeScriptResolver
typeDefinition ITypeDefinition
return TypeScriptResolver

WithCurrentUsingScope() public method

Sets the current using scope that is used to look up identifiers as class names.
public WithCurrentUsingScope ( ResolvedUsingScope usingScope ) : TypeScriptResolver
usingScope ResolvedUsingScope
return TypeScriptResolver

WithIsWithinLambdaExpression() public method

Sets whether the resolver is currently within a lambda expression.
public WithIsWithinLambdaExpression ( bool isWithinLambdaExpression ) : TypeScriptResolver
isWithinLambdaExpression bool
return TypeScriptResolver