C# Класс Boo.Lang.Compiler.Steps.ProcessMethodBodies

AST semantic evaluation.
Наследование: AbstractNamespaceSensitiveVisitorCompilerStep
Показать файл Открыть проект

Private Properties

Свойство Тип Описание
AcceptVarArgs bool
AddInferredClosureParameterTypes void
AddInitializedGuardToInitializer void
AddInitializedTempLocal Boo.Lang.Compiler.TypeSystem.InternalLocal
AddInitializerToInstanceConstructors void
AddInitializerToStaticConstructor void
AddOptionalReturnStatement void
AddResolvedNamedArgumentsToEval void
AlreadyBound bool
ApplyBuiltinMethodTypeInference void
AssertCanCreateInstance bool
AssertDelegateArgument bool
AssertHasSideEffect void
AssertIdentifierName bool
AssertIsNotComplexSlicing void
AssertLValue bool
AssertParameterTypes bool
AssertParameters bool
AssertParameters bool
AssertTargetContext bool
AssertTypeCompatibility bool
AssertTypeIsKnown void
BindArithmeticOperator void
BindArrayAddition void
BindAssignment void
BindAssignmentToComplexSliceArray void
BindAssignmentToSlice void
BindAssignmentToSliceArray void
BindAssignmentToSliceProperty void
BindBitwiseOperator void
BindCmpOperator void
BindConstructorInvocation void
BindEnumOperation void
BindEventSubscription void
BindInPlaceAddSubtract void
BindInPlaceArithmeticOperator void
BindInPlaceArithmeticOperatorOnArraySlicing void
BindIndexedPropertySlicing void
BindNullableComparison bool
BindNullableInitializer void
BindNullableOperation bool
BindNullableParameters void
BindPointerArithmeticOperator bool
BindProperty void
BindReferenceEquality void
BindReferenceEquality void
BindSwitchLabelReferences void
BindTypeTest void
BuildNullableCoalescingConditional Boo.Lang.Compiler.Ast.Expression
CanBeOverriden bool
CanBeReachedFrom bool
CanResolveReturnType bool
CannotInferGenericMethodArguments void
CantOverrideNonVirtual void
CheckAssignmentToIndexedProperty void
CheckCharLiteralValue void
CheckDeclarationType bool
CheckFieldType void
CheckGeneratorCantReturnValues void
CheckGeneratorReturnType void
CheckGeneratorYieldType void
CheckIfIsMethodOverride void
CheckInstanceMethodInvocationsWithinConstructor void
CheckIsNotValueType bool
CheckIsaArgument bool
CheckItems void
CheckOverrideSignature bool
CheckParameterType void
CheckParameterTypesStrictly bool
CheckRuntimeMethod void
CheckSwitchArguments bool
CloneOrAssignToTemp Boo.Lang.Compiler.Ast.Expression
ClosureModifiers TypeMemberModifiers
ClosureName string
CreateInitializerMethod Boo.Lang.Compiler.Ast.Method
CreateInstanceInvocationFor Boo.Lang.Compiler.Ast.MethodInvocationExpression
CreateNullableGetValueOrDefaultExpression Boo.Lang.Compiler.Ast.Expression
CreateNullableHasValueOrTrueExpression Boo.Lang.Compiler.Ast.Expression
CreateNullableInstantiation Boo.Lang.Compiler.Ast.Expression
CreateNullableInstantiation Boo.Lang.Compiler.Ast.Expression
CreateSelfReference Boo.Lang.Compiler.Ast.SelfLiteralExpression
CreateSideEffectAwareSlicingOperation Boo.Lang.Compiler.Ast.Expression
CreateTempLocal Boo.Lang.Compiler.Ast.ReferenceExpression
CreateTypeReference Boo.Lang.Compiler.Ast.TypeReference
DeclareLocal IEntity
DeclareLocal void
DeclareOldValueTempIfNeeded Boo.Lang.Compiler.TypeSystem.InternalLocal
Disambiguate IEntity
EmitCallableResolutionError void
EnsureDeclarationType void
EnsureMemberReferenceForExtension Boo.Lang.Compiler.Ast.MemberReferenceExpression
EnsureMemberWasVisited void
EnsureRelatedNodesWereVisited void
EnterForNamespace void
EntityFor Boo.Lang.Compiler.TypeSystem.InternalProperty
EnumerateMetaMethods IEnumerable
EvalForTypeInvocation Boo.Lang.Compiler.Ast.MethodInvocationExpression
ExpandIncrementDecrement void
ExpandIncrementDecrementArraySlicing Boo.Lang.Compiler.Ast.Expression
ExpandSimpleIncrementDecrement Boo.Lang.Compiler.Ast.Expression
FindMethodOverridenBy IMethod
FindMethodOverridenBy IMethod
FindNullableExpressions IEnumerable
FindOperator IMethod
FindPropertyAccessorOverridenBy IMethod
FindPropertyOverridenBy IProperty
FlushFieldInitializers void
GeneratorItemTypeFor IType
GeneratorTypeOf IType
GetAccessibilityChecker IAccessibilityChecker
GetBinaryOperatorText string
GetCorrectCallableReference IEntity
GetCorrectConstructor IConstructor
GetCorrespondingHasValueOperator BinaryOperatorType
GetDeclarationType IType
GetDeclarationType void
GetEquivalentBinaryOperator BinaryOperatorType
GetFieldsInitializerInitializedField Boo.Lang.Compiler.Ast.Field
GetGetMethods IEntity[]
GetIndex int
GetIndexAfterSuperInvocation int
GetIndexedPropertySlicingTarget Boo.Lang.Compiler.Ast.Expression
GetInferredType IType
GetInferredType IType
GetInitializerFor Boo.Lang.Compiler.Ast.Method
GetInitializerMethod Boo.Lang.Compiler.Ast.Method
GetMatchesByGenericity List
GetMetaMethodInvocationArguments object[]
GetMethodInfo System.Reflection.MethodInfo
GetMostGenericType IType
GetMostGenericType IType
GetMostGenericType IType
GetMostGenericTypeReference Boo.Lang.Compiler.Ast.TypeReference
GetMostSimilarBaseMethodName string
GetPropertyAccessors IEntity[]
GetReferenceNamespace INamespace
GetRelatedBinaryOperatorForInPlaceOperator BinaryOperatorType
GetRelatedPreOperator UnaryOperatorType
GetSetMethods IEntity[]
GetSignature string
GetStaticConstructor Boo.Lang.Compiler.Ast.Constructor
GetUnaryOperatorText string
HasOperatorSignature bool
InStrictMode bool
InferArrayType IArrayType
InferClosureSignature void
InferDeclarationType IType
InferGenericMethodInvocation IMethod
InferTypeOfProperty IType
InvalidOperatorForType void
InvalidOperatorForTypes void
InvokeMetaMethod void
IsAccessible bool
IsAccessible bool
IsApplicable bool
IsArray bool
IsAssignableFrom bool
IsAssignableFrom bool
IsBeingAssignedTo bool
IsBool bool
IsCallableEntity bool
IsChar bool
IsEnumOperation bool
IsError bool
IsEvent bool
IsEventSubscription bool
IsExtensionMethod bool
IsGenericMethod bool
IsInaccessible bool
IsLikelyMacroExtensionMethodInvocation bool
IsMetaMethod bool
IsNull bool
IsNullableOperation bool
IsOrContainMetaMethod bool
IsPrimitiveComparison bool
IsPrimitiveNumber bool
IsPrimitiveNumberOrChar bool
IsPrimitiveOnesComplementOperand bool
IsPublicEvent bool
IsRuntimeIterator bool
IsStandaloneReference bool
IsSubjectToGenericArgumentInference bool
IsTextReader bool
IsValidEnumOperand bool
IsValidLiteralInitializer bool
IsVisible bool
IsVisibleFieldPropertyOrEvent bool
IsWriteOnlyProperty bool
LValueExpected void
LeaveAddressOf void
LeaveIncrementDecrement void
LeaveIndirection void
LeaveLogicalNot void
LeaveOnesComplement void
LeaveUnaryNegation void
MapWildcardType IType
MarkPreProcessed void
MarkRelatedImportAsUsed void
MemberAnchorFor Node
MetaAttributeOf MetaAttribute
MethodHidesInheritedNonVirtual void
NamedArgumentsNotAllowed void
NormalizeGetterOf void
NormalizeSetterOf void
PopMember void
PopMethodInfo void
PostNormalizeExtensionInvocation void
PostProcessMethod void
PostProcessReferenceExpression void
PreNormalizeExtensionInvocation void
PreProcessFieldInitializer void
PreProcessMethod void
PreferInternalEntitiesOverNonInternal void
ProcessAddressOfInvocation void
ProcessCallableTypeInvocation void
ProcessClosureBody void
ProcessClosureInMethodInvocation void
ProcessConstructorInvocation void
ProcessDefaultValueInvocation void
ProcessDelegateInvocation void
ProcessEvalInvocation void
ProcessEventInvocation void
ProcessFieldInitializer void
ProcessFieldInitializerType void
ProcessGenericMethodInvocation void
ProcessGetter void
ProcessICallableInvocation void
ProcessLenInvocation void
ProcessLiteralField void
ProcessMetaMethodInvocation bool
ProcessMethodBody void
ProcessMethodBody void
ProcessMethodInvocationExpression void
ProcessMethodInvocationOnCallableExpression void
ProcessMethodOverride void
ProcessNamedArgument bool
ProcessNamedArgumentsForTypeInvocation void
ProcessNodeInMethodContext void
ProcessOperatorOverload void
ProcessRegularMethod void
ProcessSetter void
ProcessStatementTypeMemberInitializer void
ProcessSwitchInvocation bool
ProcessSystemTypeInvocation void
ProcessTypeInvocation void
ProcessValueTypeInstantiation void
PropagateOverrideToAccessors void
PushMember void
PushMethodInfo void
ReplaceMetaMethodInvocationSite void
ReplaceTypeInvocationByEval void
ResolveAmbiguousLValue IEntity
ResolveAmbiguousMethodReference IEntity
ResolveAmbiguousOperator IMethod
ResolveAmbiguousPropertyReference IEntity
ResolveAmbiguousReference IEntity
ResolveAmbiguousReferenceByAccessibility IEntity
ResolveAmbiguousTypeReference IEntity
ResolveCallable IEntity
ResolveCallableReference IEntity
ResolveExtension IEntity
ResolveGeneratorReturnType void
ResolveMember IEntity
ResolveMemberInfo void
ResolveMethodOverride void
ResolveName IEntity
ResolveNamedArgument void
ResolveNamedArguments void
ResolveOperator bool
ResolveOperator bool
ResolveOperator bool
ResolveOperatorEntity IMethod
ResolvePropertyOverride IProperty
ResolvePropertyOverride void
ResolveReturnType void
ResolveVisibleFieldPropertyOrEvent IMember
ResolvedAsExtension bool
ResultingTypeForArraySlicing IType
ResultingTypeForComplexSlicing IType
SetOverride void
SetPropertyAccessorOverride void
ShouldDeferClosureProcessing bool
ShouldResolveArgsOf bool
SliceMember void
TraceOverride void
TraceReturnType void
TryToProcessAsExtensionInvocation bool
TryToResolveMemberAsExtension IEntity
TryToResolveName IEntity
TryToResolveReturnType void
ValidateOverride void
VisitBaseTypes void
VisitTypeDefinition void
VoidType IType
WasAlreadyPreProcessed bool

Открытые методы

Метод Описание
Dispose ( ) : void
EnsureInternalEventInvocation ( IEvent ev, Expression node ) : bool
EnterBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
EnterMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : bool
EnterUnaryExpression ( UnaryExpression node ) : bool
Initialize ( CompilerContext context ) : void
IsArraySlicing ( Node node ) : bool
LeaveArrayLiteralExpression ( Boo.Lang.Compiler.Ast.ArrayLiteralExpression node ) : void
LeaveBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
LeaveCastExpression ( Boo.Lang.Compiler.Ast.CastExpression node ) : void
LeaveConditionalExpression ( Boo.Lang.Compiler.Ast.ConditionalExpression node ) : void
LeaveDeclaration ( Boo.Lang.Compiler.Ast.Declaration node ) : void
LeaveDeclarationStatement ( Boo.Lang.Compiler.Ast.DeclarationStatement node ) : void
LeaveExpressionInterpolationExpression ( Boo.Lang.Compiler.Ast.ExpressionInterpolationExpression node ) : void
LeaveExpressionStatement ( Boo.Lang.Compiler.Ast.ExpressionStatement node ) : void
LeaveGenericReferenceExpression ( GenericReferenceExpression node ) : void
LeaveHashLiteralExpression ( Boo.Lang.Compiler.Ast.HashLiteralExpression node ) : void
LeaveListLiteralExpression ( Boo.Lang.Compiler.Ast.ListLiteralExpression node ) : void
LeaveMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : void
LeaveParameterDeclaration ( ParameterDeclaration node ) : void
LeaveRaiseStatement ( Boo.Lang.Compiler.Ast.RaiseStatement node ) : void
LeaveReturnStatement ( Boo.Lang.Compiler.Ast.ReturnStatement node ) : void
LeaveSlicingExpression ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
LeaveTryCastExpression ( TryCastExpression node ) : void
LeaveTypeofExpression ( Boo.Lang.Compiler.Ast.TypeofExpression node ) : void
LeaveUnaryExpression ( UnaryExpression node ) : void
LeaveYieldStatement ( Boo.Lang.Compiler.Ast.YieldStatement node ) : void
OnAttribute ( Attribute node ) : void
OnBlockExpression ( BlockExpression node ) : void
OnBoolLiteralExpression ( BoolLiteralExpression node ) : void
OnCharLiteralExpression ( CharLiteralExpression node ) : void
OnClassDefinition ( ClassDefinition node ) : void
OnConstructor ( Constructor node ) : void
OnDoubleLiteralExpression ( DoubleLiteralExpression node ) : void
OnExceptionHandler ( Boo.Lang.Compiler.Ast.ExceptionHandler node ) : void
OnExtendedGeneratorExpression ( Boo.Lang.Compiler.Ast.ExtendedGeneratorExpression node ) : void
OnField ( Boo.Lang.Compiler.Ast.Field node ) : void
OnForStatement ( Boo.Lang.Compiler.Ast.ForStatement node ) : void
OnGeneratorExpression ( Boo.Lang.Compiler.Ast.GeneratorExpression node ) : void
OnGotoStatement ( Boo.Lang.Compiler.Ast.GotoStatement node ) : void
OnIntegerLiteralExpression ( IntegerLiteralExpression node ) : void
OnInterfaceDefinition ( Boo.Lang.Compiler.Ast.InterfaceDefinition node ) : void
OnMethod ( Method method ) : void
OnMethodInvocationExpression ( MethodInvocationExpression node ) : void
OnModule ( Module module ) : void
OnNullLiteralExpression ( Boo.Lang.Compiler.Ast.NullLiteralExpression node ) : void
OnProperty ( Property node ) : void
OnRELiteralExpression ( RELiteralExpression node ) : void
OnReferenceExpression ( ReferenceExpression node ) : void
OnSelfLiteralExpression ( Boo.Lang.Compiler.Ast.SelfLiteralExpression node ) : void
OnStatementTypeMember ( Boo.Lang.Compiler.Ast.StatementTypeMember node ) : void
OnStringLiteralExpression ( Boo.Lang.Compiler.Ast.StringLiteralExpression node ) : void
OnSuperLiteralExpression ( Boo.Lang.Compiler.Ast.SuperLiteralExpression node ) : void
OnTimeSpanLiteralExpression ( TimeSpanLiteralExpression node ) : void
OnUnpackStatement ( Boo.Lang.Compiler.Ast.UnpackStatement node ) : void
Reify ( TypeMember member ) : TypeMember
Run ( ) : void

Защищенные методы

Метод Описание
AddResolvedNamedArgumentToEval ( MethodInvocationExpression eval, Boo.Lang.Compiler.Ast.ExpressionPair pair, ReferenceExpression instance ) : void
AssertDeclarationName ( Boo.Lang.Compiler.Ast.Declaration d ) : bool
AssertLValue ( Node node, IEntity entity ) : bool
AssertUniqueLocal ( Boo.Lang.Compiler.Ast.Declaration d ) : bool
BindBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindNonGenericTypeReferenceExpressionType ( Expression node, IType type ) : void
BindTypeReferenceExpressionType ( Expression node, IType type ) : void
CantResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entities ) : IEntity
CheckBuiltinUsage ( ReferenceExpression node, IEntity entity ) : void
CheckExactArgsParameters ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args, bool reportErrors ) : bool
CheckNameResolution ( Node node, string name, IEntity resolvedEntity ) : bool
CheckParameters ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args, bool reportErrors ) : bool
CheckVarArgsParameters ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
ClearResolutionCacheFor ( string name ) : void
CreateDefaultLocalInitializer ( Node sourceNode, IEntity local ) : Expression
CreateEquals ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : MethodInvocationExpression
CreateMemberReferenceTarget ( Node sourceNode, IMember member ) : Expression
DeclareLocal ( Node sourceNode, string name, IType localType, bool privateScope ) : IEntity
DeclareTempLocal ( IType localType ) : InternalLocal
EmitUnknownIdentifierError ( Node node, string name ) : void
EnsureRelatedNodeWasVisited ( Node sourceNode, IEntity entity ) : void
ExpandInPlaceBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : Boo.Lang.Compiler.Ast.BinaryExpression
GetConstructedType ( IType genericType, IType argType ) : IType
GetCorrectIterator ( Expression iterator ) : Expression
GetEnumeratorItemType ( IType iteratorType ) : IType
GetGeneratorReturnType ( Boo.Lang.Compiler.TypeSystem.InternalMethod generator ) : IType

Allows a different language to use custom rules for generator return types.

HasNeitherReturnNorYield ( Method node ) : bool
HasSideEffect ( Expression node ) : bool
IsDuckTyped ( IMember entity ) : bool
IsIndexedProperty ( Expression expression ) : bool
IsValidIncrementDecrementOperand ( Expression e ) : bool
LeaveExplodeExpression ( UnaryExpression node ) : void
LocalByName ( string name ) : Local
LocalToReuseFor ( Boo.Lang.Compiler.Ast.Declaration d ) : Local
MemberNotFound ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node, INamespace ns ) : void
MemberReferenceFromReference ( ReferenceExpression node, IMember member ) : Boo.Lang.Compiler.Ast.MemberReferenceExpression
NamedArgumentNotFound ( IType type, ReferenceExpression name ) : void
ProcessAssignment ( BinaryExpression node ) : void
ProcessAutoLocalDeclaration ( BinaryExpression node, ReferenceExpression reference ) : void
ProcessBuiltinInvocation ( MethodInvocationExpression node, BuiltinFunction function ) : void
ProcessDeclarationForIterator ( Declaration d, IType defaultDeclType ) : void
ProcessDeclarationsForIterator ( DeclarationCollection declarations, IType iteratorType ) : void
ProcessInvocationOnUnknownCallableExpression ( MethodInvocationExpression node ) : void
ProcessIterator ( Expression iterator, DeclarationCollection declarations ) : Expression

Process a iterator and its declarations and returns a new iterator expression if necessary.

ProcessMemberReferenceExpression ( MemberReferenceExpression node ) : void
ProcessMethodInvocation ( MethodInvocationExpression node, IMethod method ) : void
ProcessMethodInvocationWithInvalidParameters ( MethodInvocationExpression node, IMethod targetMethod ) : bool
ResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entity ) : IEntity
ResolveFieldPropertyEvent ( IType type, string name ) : IEntity
ResolveMethod ( IType type, string name ) : IMethod
ResolveProperty ( IType type, string name ) : IProperty
ResolveRuntimeOperator ( BinaryExpression node, string operatorName, MethodInvocationExpression mie ) : bool
ShouldRebindMember ( IEntity entity ) : bool
TryToResolveAmbiguousAssignment ( BinaryExpression node ) : void
ValidateAssignment ( BinaryExpression node ) : bool
VisitForStatementBlock ( ForStatement node ) : void
VisitMemberPreservingContext ( TypeMember node ) : void

Приватные методы

Метод Описание
AcceptVarArgs ( ICallableType method ) : bool
AddInferredClosureParameterTypes ( BlockExpression node, ICallableType callableType ) : void
AddInitializedGuardToInitializer ( Boo.Lang.Compiler.Ast.TypeDefinition type, Method initializer ) : void
AddInitializedTempLocal ( MethodInvocationExpression eval, Expression initializer ) : InternalLocal
AddInitializerToInstanceConstructors ( Boo.Lang.Compiler.Ast.TypeDefinition type, Method initializer ) : void
AddInitializerToStaticConstructor ( Boo.Lang.Compiler.Ast.TypeDefinition type, Boo.Lang.Compiler.TypeSystem.InternalMethod initializer ) : void
AddOptionalReturnStatement ( Block body ) : void
AddResolvedNamedArgumentsToEval ( MethodInvocationExpression eval, Boo.Lang.Compiler.Ast.ExpressionPairCollection namedArguments, ReferenceExpression instance ) : void
AlreadyBound ( ReferenceExpression node ) : bool
ApplyBuiltinMethodTypeInference ( MethodInvocationExpression expression, IMethod method ) : void
AssertCanCreateInstance ( Node sourceNode, IType type ) : bool
AssertDelegateArgument ( Node sourceNode, ITypedEntity delegateMember, ITypedEntity argumentInfo ) : bool
AssertHasSideEffect ( Expression expression ) : void
AssertIdentifierName ( Node node, string name ) : bool
AssertIsNotComplexSlicing ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
AssertLValue ( Expression node ) : bool
AssertParameterTypes ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args, int count, bool reportErrors ) : bool
AssertParameters ( Node sourceNode, IEntity sourceEntity, ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
AssertParameters ( Node sourceNode, IMethod method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
AssertTargetContext ( Expression targetContext, IMember member ) : bool
AssertTypeCompatibility ( Node sourceNode, IType expectedType, IType actualType ) : bool
AssertTypeIsKnown ( Node sourceNode, IEntity sourceEntity, IType type ) : void
BindArithmeticOperator ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindArrayAddition ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindAssignment ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindAssignmentToComplexSliceArray ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindAssignmentToSlice ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindAssignmentToSliceArray ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindAssignmentToSliceProperty ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindBitwiseOperator ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindCmpOperator ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindConstructorInvocation ( MethodInvocationExpression node, IConstructor ctor ) : void
BindEnumOperation ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindEventSubscription ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindInPlaceAddSubtract ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindInPlaceArithmeticOperator ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindInPlaceArithmeticOperatorOnArraySlicing ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindIndexedPropertySlicing ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
BindNullableComparison ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
BindNullableInitializer ( Node node, Expression rhs, IType type ) : void
BindNullableOperation ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
BindNullableParameters ( Boo.Lang.Compiler.Ast.ExpressionCollection args, ICallableType target ) : void
BindPointerArithmeticOperator ( Boo.Lang.Compiler.Ast.BinaryExpression node, IType left, IType right ) : bool
BindProperty ( Expression expression, IProperty property ) : void
BindReferenceEquality ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BindReferenceEquality ( Boo.Lang.Compiler.Ast.BinaryExpression node, bool inequality ) : void
BindSwitchLabelReferences ( MethodInvocationExpression node ) : void
BindTypeTest ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
BuildNullableCoalescingConditional ( Expression exp ) : Expression
CanBeOverriden ( IMethod baseMethod ) : bool
CanBeReachedFrom ( Node anchor, IType expectedType, IType actualType ) : bool
CanResolveReturnType ( Boo.Lang.Compiler.TypeSystem.InternalMethod method ) : bool
CannotInferGenericMethodArguments ( Expression node, IMethod genericMethod ) : void
CantOverrideNonVirtual ( Method method, IMethod baseMethod ) : void
CheckAssignmentToIndexedProperty ( Node node, IEntity lhs ) : void
CheckCharLiteralValue ( CharLiteralExpression node ) : void
CheckDeclarationType ( TypeReference type ) : bool
CheckFieldType ( TypeReference type ) : void
CheckGeneratorCantReturnValues ( Boo.Lang.Compiler.TypeSystem.InternalMethod entity ) : void
CheckGeneratorReturnType ( Method method, IType returnType ) : void
CheckGeneratorYieldType ( Boo.Lang.Compiler.TypeSystem.InternalMethod method, IType returnType ) : void
CheckIfIsMethodOverride ( Boo.Lang.Compiler.TypeSystem.InternalMethod method ) : void
CheckInstanceMethodInvocationsWithinConstructor ( Constructor ctor ) : void
CheckIsNotValueType ( Boo.Lang.Compiler.Ast.BinaryExpression node, Expression expression ) : bool
CheckIsaArgument ( Expression e ) : bool
CheckItems ( IType expectedElementType, Boo.Lang.Compiler.Ast.ExpressionCollection items ) : void
CheckOverrideSignature ( IProperty p, IProperty candidate ) : bool
CheckParameterType ( TypeReference type ) : void
CheckParameterTypesStrictly ( IMethod method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
CheckRuntimeMethod ( Method method ) : void
CheckSwitchArguments ( MethodInvocationExpression node ) : bool
CloneOrAssignToTemp ( InternalLocal temp, Expression operand ) : Expression
ClosureModifiers ( ) : TypeMemberModifiers
ClosureName ( string explicitName ) : string
CreateInitializerMethod ( Boo.Lang.Compiler.Ast.TypeDefinition type, string name, TypeMemberModifiers modifiers ) : Method
CreateInstanceInvocationFor ( MethodInvocationExpression node ) : MethodInvocationExpression
CreateNullableGetValueOrDefaultExpression ( Expression target ) : Expression
CreateNullableHasValueOrTrueExpression ( Expression target ) : Expression
CreateNullableInstantiation ( Expression val, IType type ) : Expression
CreateNullableInstantiation ( IType type ) : Expression
CreateSelfReference ( ) : Boo.Lang.Compiler.Ast.SelfLiteralExpression
CreateSideEffectAwareSlicingOperation ( LexicalInfo lexicalInfo, BinaryOperatorType binaryOperator, Boo.Lang.Compiler.Ast.SlicingExpression lvalue, Expression rvalue, InternalLocal returnValue ) : Expression
CreateTempLocal ( LexicalInfo li, IType type ) : ReferenceExpression
CreateTypeReference ( LexicalInfo info, IType type ) : TypeReference
DeclareLocal ( Node sourceNode, string name, IType localType ) : IEntity
DeclareLocal ( Boo.Lang.Compiler.Ast.Declaration d, bool privateScope ) : void
DeclareOldValueTempIfNeeded ( UnaryExpression node ) : InternalLocal
Disambiguate ( ReferenceExpression node, IEntity member ) : IEntity
EmitCallableResolutionError ( Node sourceNode, IEntity candidates, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : void
EnsureDeclarationType ( Boo.Lang.Compiler.Ast.DeclarationStatement node ) : void
EnsureMemberReferenceForExtension ( MethodInvocationExpression node ) : Boo.Lang.Compiler.Ast.MemberReferenceExpression
EnsureMemberWasVisited ( Boo.Lang.Compiler.Ast.TypeMember node ) : void
EnsureRelatedNodesWereVisited ( Node sourceNode, IEntity candidates ) : void
EnterForNamespace ( Boo.Lang.Compiler.Ast.ForStatement node ) : void
EntityFor ( Property property ) : Boo.Lang.Compiler.TypeSystem.InternalProperty
EnumerateMetaMethods ( IEntity entity ) : IEnumerable
EvalForTypeInvocation ( IType type, MethodInvocationExpression node ) : MethodInvocationExpression
ExpandIncrementDecrement ( UnaryExpression node ) : void
ExpandIncrementDecrementArraySlicing ( UnaryExpression node ) : Expression
ExpandSimpleIncrementDecrement ( UnaryExpression node ) : Expression
FindMethodOverridenBy ( Boo.Lang.Compiler.TypeSystem.InternalMethod entity ) : IMethod
FindMethodOverridenBy ( Boo.Lang.Compiler.TypeSystem.InternalMethod entity, IEntity candidates ) : IMethod
FindNullableExpressions ( Expression exp ) : IEnumerable
FindOperator ( IType type, string operatorName, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : IMethod
FindPropertyAccessorOverridenBy ( Property property, Method accessor ) : IMethod
FindPropertyOverridenBy ( Property property ) : IProperty
FlushFieldInitializers ( ClassDefinition node ) : void
GeneratorItemTypeFor ( Boo.Lang.Compiler.TypeSystem.InternalMethod generator ) : IType
GeneratorTypeOf ( IType generatorItemType ) : IType
GetAccessibilityChecker ( ) : IAccessibilityChecker
GetBinaryOperatorText ( BinaryOperatorType op ) : string
GetCorrectCallableReference ( Node sourceNode, Boo.Lang.Compiler.Ast.ExpressionCollection args, IEntity candidates ) : IEntity
GetCorrectConstructor ( Node sourceNode, IType type, Boo.Lang.Compiler.Ast.ExpressionCollection arguments ) : IConstructor
GetCorrespondingHasValueOperator ( BinaryOperatorType op ) : BinaryOperatorType
GetDeclarationType ( Boo.Lang.Compiler.Ast.DeclarationStatement node ) : IType
GetDeclarationType ( IType defaultDeclarationType, Boo.Lang.Compiler.Ast.Declaration d ) : void
GetEquivalentBinaryOperator ( UnaryOperatorType op ) : BinaryOperatorType
GetFieldsInitializerInitializedField ( Boo.Lang.Compiler.Ast.TypeDefinition type ) : Boo.Lang.Compiler.Ast.Field
GetGetMethods ( IEntity entities ) : IEntity[]
GetIndex ( IEntity entities, IEntity entity ) : int
GetIndexAfterSuperInvocation ( Block body ) : int
GetIndexedPropertySlicingTarget ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : Expression
GetInferredType ( IMember entity ) : IType
GetInferredType ( IMethod entity ) : IType
GetInitializerFor ( Boo.Lang.Compiler.Ast.TypeDefinition type, bool isStatic ) : Method
GetInitializerMethod ( Boo.Lang.Compiler.Ast.Field node ) : Method
GetMatchesByGenericity ( ReferenceExpression node, Ambiguous candidates ) : List
GetMetaMethodInvocationArguments ( MethodInvocationExpression node ) : object[]
GetMethodInfo ( IEntity entity ) : MethodInfo
GetMostGenericType ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : IType
GetMostGenericType ( Boo.Lang.Compiler.Ast.ExpressionCollection args ) : IType
GetMostGenericType ( IType lhs, IType rhs ) : IType
GetMostGenericTypeReference ( Boo.Lang.Compiler.Ast.ExpressionCollection expressions ) : TypeReference
GetMostSimilarBaseMethodName ( Boo.Lang.Compiler.TypeSystem.InternalMethod entity ) : string
GetPropertyAccessors ( IEntity entities, IEntity>.Func selector ) : IEntity[]
GetReferenceNamespace ( Boo.Lang.Compiler.Ast.MemberReferenceExpression expression ) : INamespace
GetRelatedBinaryOperatorForInPlaceOperator ( BinaryOperatorType op ) : BinaryOperatorType
GetRelatedPreOperator ( UnaryOperatorType op ) : UnaryOperatorType
GetSetMethods ( IEntity entities ) : IEntity[]
GetSignature ( IEnumerable args ) : string
GetStaticConstructor ( Boo.Lang.Compiler.Ast.TypeDefinition type ) : Constructor
GetUnaryOperatorText ( UnaryOperatorType op ) : string
HasOperatorSignature ( IMethod method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
InStrictMode ( ) : bool
InferArrayType ( Boo.Lang.Compiler.Ast.ArrayLiteralExpression node ) : IArrayType
InferClosureSignature ( BlockExpression node ) : void
InferDeclarationType ( Boo.Lang.Compiler.Ast.DeclarationStatement node ) : IType
InferGenericMethodInvocation ( MethodInvocationExpression node, IMethod targetMethod ) : IMethod
InferTypeOfProperty ( Property node ) : IType
InvalidOperatorForType ( UnaryExpression node ) : void
InvalidOperatorForTypes ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
InvokeMetaMethod ( MethodInvocationExpression node, CandidateMethod method, object arguments ) : void
IsAccessible ( IAccessibleMember accessible ) : bool
IsAccessible ( IEntity member ) : bool
IsApplicable ( IEntity entity, Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : bool
IsArray ( Expression expression ) : bool
IsAssignableFrom ( IType expectedType, IType actualType ) : bool
IsAssignableFrom ( Type expectedType, IType actualType ) : bool
IsBeingAssignedTo ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : bool
IsBool ( IType lhs ) : bool
IsCallableEntity ( IEntity entity ) : bool
IsChar ( IType type ) : bool
IsEnumOperation ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
IsError ( IEntity entity ) : bool
IsEvent ( IEntity entity ) : bool
IsEventSubscription ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
IsExtensionMethod ( IEntity entity ) : bool
IsGenericMethod ( IMethod m ) : bool
IsInaccessible ( IEntity info ) : bool
IsLikelyMacroExtensionMethodInvocation ( IEntity entity ) : bool
IsMetaMethod ( IEntity entity ) : bool
IsNull ( Expression node ) : bool
IsNullableOperation ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
IsOrContainMetaMethod ( IEntity entity ) : bool
IsPrimitiveComparison ( IType lhs, IType rhs ) : bool
IsPrimitiveNumber ( Expression expression ) : bool
IsPrimitiveNumberOrChar ( IType lhs ) : bool
IsPrimitiveOnesComplementOperand ( Expression operand ) : bool
IsPublicEvent ( IEntity tag ) : bool
IsRuntimeIterator ( IType type ) : bool
IsStandaloneReference ( Node node ) : bool
IsSubjectToGenericArgumentInference ( Expression node ) : bool
IsTextReader ( IType type ) : bool
IsValidEnumOperand ( IType expected, IType actual ) : bool
IsValidLiteralInitializer ( Expression e ) : bool
IsVisible ( IAccessibleMember member ) : bool
IsVisibleFieldPropertyOrEvent ( IEntity entity ) : bool
IsWriteOnlyProperty ( IProperty property ) : bool
LValueExpected ( Node node ) : void
LeaveAddressOf ( UnaryExpression node ) : void
LeaveIncrementDecrement ( UnaryExpression node ) : void
LeaveIndirection ( UnaryExpression node ) : void
LeaveLogicalNot ( UnaryExpression node ) : void
LeaveOnesComplement ( UnaryExpression node ) : void
LeaveUnaryNegation ( UnaryExpression node ) : void
MapWildcardType ( IType type ) : IType
MarkPreProcessed ( Method node ) : void
MarkRelatedImportAsUsed ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : void
MemberAnchorFor ( Node node ) : Node
MetaAttributeOf ( CandidateMethod method ) : MetaAttribute
MethodHidesInheritedNonVirtual ( Boo.Lang.Compiler.TypeSystem.InternalMethod hidingMethod, IMethod hiddenMethod ) : void
NamedArgumentsNotAllowed ( MethodInvocationExpression node ) : void
NormalizeGetterOf ( Property node ) : void
NormalizeSetterOf ( Property node ) : void
PopMember ( ) : void
PopMethodInfo ( ) : void
PostNormalizeExtensionInvocation ( MethodInvocationExpression node, IMethod targetMethod ) : void
PostProcessMethod ( Method node ) : void
PostProcessReferenceExpression ( ReferenceExpression node ) : void
PreNormalizeExtensionInvocation ( MethodInvocationExpression node, IEntityWithParameters extension ) : void
PreProcessFieldInitializer ( Field node ) : void
PreProcessMethod ( Method node ) : void
PreferInternalEntitiesOverNonInternal ( List matches ) : void
ProcessAddressOfInvocation ( MethodInvocationExpression node ) : void
ProcessCallableTypeInvocation ( MethodInvocationExpression node, ICallableType type ) : void
ProcessClosureBody ( BlockExpression node ) : void
ProcessClosureInMethodInvocation ( GenericParameterInferrer inferrer, BlockExpression closure, ICallableType formalType ) : void
ProcessConstructorInvocation ( MethodInvocationExpression node, IEntity targetEntity ) : void
ProcessDefaultValueInvocation ( MethodInvocationExpression node ) : void
ProcessDelegateInvocation ( MethodInvocationExpression node, ICallableType delegateType ) : void
ProcessEvalInvocation ( MethodInvocationExpression node ) : void
ProcessEventInvocation ( MethodInvocationExpression node, IEvent ev ) : void
ProcessFieldInitializer ( Field node ) : void
ProcessFieldInitializerType ( Field node, IType initializerType ) : void
ProcessGenericMethodInvocation ( MethodInvocationExpression node ) : void
ProcessGetter ( Property node ) : void
ProcessICallableInvocation ( MethodInvocationExpression node ) : void
ProcessLenInvocation ( MethodInvocationExpression node ) : void
ProcessLiteralField ( Field node ) : void
ProcessMetaMethodInvocation ( MethodInvocationExpression node, bool resolvedArgs ) : bool
ProcessMethodBody ( InternalMethod entity ) : void
ProcessMethodBody ( InternalMethod entity, INamespace ns ) : void
ProcessMethodInvocationExpression ( MethodInvocationExpression node, IEntity targetEntity ) : void
ProcessMethodInvocationOnCallableExpression ( MethodInvocationExpression node ) : void
ProcessMethodOverride ( InternalMethod entity, IMethod baseMethod ) : void
ProcessNamedArgument ( ExpressionPair arg ) : bool
ProcessNamedArgumentsForTypeInvocation ( MethodInvocationExpression invocation ) : void
ProcessNodeInMethodContext ( InternalMethod entity, INamespace ns, Node node ) : void
ProcessOperatorOverload ( UnaryExpression node ) : void
ProcessRegularMethod ( Method node ) : void
ProcessSetter ( Property node ) : void
ProcessStatementTypeMemberInitializer ( ClassDefinition node, StatementTypeMember statementTypeMember ) : void
ProcessSwitchInvocation ( MethodInvocationExpression node ) : bool
ProcessSystemTypeInvocation ( MethodInvocationExpression node ) : void
ProcessTypeInvocation ( MethodInvocationExpression node ) : void
ProcessValueTypeInstantiation ( IType type, MethodInvocationExpression node ) : void
PropagateOverrideToAccessors ( Property property ) : void
PushMember ( TypeMember member ) : void
PushMethodInfo ( InternalMethod entity ) : void
ReplaceMetaMethodInvocationSite ( MethodInvocationExpression node, Node replacement ) : void
ReplaceTypeInvocationByEval ( IType type, MethodInvocationExpression node ) : void
ResolveAmbiguousLValue ( Expression sourceNode, Ambiguous candidates, Expression rvalue ) : IEntity
ResolveAmbiguousMethodReference ( ReferenceExpression node, Ambiguous candidates, ExpressionCollection args ) : IEntity
ResolveAmbiguousOperator ( IEntity entities, ExpressionCollection args ) : IMethod
ResolveAmbiguousPropertyReference ( ReferenceExpression node, Ambiguous candidates, ExpressionCollection args ) : IEntity
ResolveAmbiguousReference ( ReferenceExpression node, Ambiguous candidates ) : IEntity
ResolveAmbiguousReferenceByAccessibility ( Ambiguous candidates ) : IEntity
ResolveAmbiguousTypeReference ( ReferenceExpression node, Ambiguous candidates ) : IEntity
ResolveCallable ( ReferenceExpression node ) : IEntity
ResolveCallableReference ( MethodInvocationExpression node, Ambiguous entity ) : IEntity
ResolveExtension ( MethodInvocationExpression node ) : IEntity
ResolveGeneratorReturnType ( InternalMethod entity ) : void
ResolveMember ( MemberReferenceExpression node ) : IEntity
ResolveMemberInfo ( ReferenceExpression node, IMember member ) : void
ResolveMethodOverride ( InternalMethod entity ) : void
ResolveName ( Node node, string name ) : IEntity
ResolveNamedArgument ( IType type, ReferenceExpression name, Expression value ) : void
ResolveNamedArguments ( IType type, ExpressionPairCollection arguments ) : void
ResolveOperator ( BinaryExpression node ) : bool
ResolveOperator ( Expression node, IType type, string operatorName, MethodInvocationExpression mie ) : bool
ResolveOperator ( UnaryExpression node ) : bool
ResolveOperatorEntity ( IEntity op, ExpressionCollection args ) : IMethod
ResolvePropertyOverride ( IProperty p, IEntity candidates ) : IProperty
ResolvePropertyOverride ( Property property ) : void
ResolveReturnType ( InternalMethod entity ) : void
ResolveVisibleFieldPropertyOrEvent ( Expression sourceNode, IType type, string name ) : IMember
ResolvedAsExtension ( MethodInvocationExpression node ) : bool
ResultingTypeForArraySlicing ( SlicingExpression node ) : IType
ResultingTypeForComplexSlicing ( SlicingExpression node ) : IType
SetOverride ( InternalMethod entity, IMethod baseMethod ) : void
SetPropertyAccessorOverride ( Method accessor ) : void
ShouldDeferClosureProcessing ( BlockExpression node ) : bool
ShouldResolveArgsOf ( CandidateMethod method ) : bool
SliceMember ( SlicingExpression node, IEntity member ) : void
TraceOverride ( Method method, IMethod baseMethod ) : void
TraceReturnType ( Method method, IMethod tag ) : void
TryToProcessAsExtensionInvocation ( MethodInvocationExpression node ) : bool
TryToResolveMemberAsExtension ( MemberReferenceExpression node ) : IEntity
TryToResolveName ( string name ) : IEntity
TryToResolveReturnType ( InternalMethod entity ) : void
ValidateOverride ( InternalMethod entity, IMethod baseMethod ) : void
VisitBaseTypes ( TypeDefinition node ) : void
VisitTypeDefinition ( TypeDefinition node ) : void
VoidType ( ) : IType
WasAlreadyPreProcessed ( Method node ) : bool

Описание методов

AddResolvedNamedArgumentToEval() защищенный Метод

protected AddResolvedNamedArgumentToEval ( MethodInvocationExpression eval, Boo.Lang.Compiler.Ast.ExpressionPair pair, ReferenceExpression instance ) : void
eval Boo.Lang.Compiler.Ast.MethodInvocationExpression
pair Boo.Lang.Compiler.Ast.ExpressionPair
instance Boo.Lang.Compiler.Ast.ReferenceExpression
Результат void

AssertDeclarationName() защищенный Метод

protected AssertDeclarationName ( Boo.Lang.Compiler.Ast.Declaration d ) : bool
d Boo.Lang.Compiler.Ast.Declaration
Результат bool

AssertLValue() защищенный Метод

protected AssertLValue ( Node node, IEntity entity ) : bool
node Node
entity IEntity
Результат bool

AssertUniqueLocal() защищенный Метод

protected AssertUniqueLocal ( Boo.Lang.Compiler.Ast.Declaration d ) : bool
d Boo.Lang.Compiler.Ast.Declaration
Результат bool

BindBinaryExpression() защищенный Метод

protected BindBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
Результат void

BindNonGenericTypeReferenceExpressionType() защищенный Метод

protected BindNonGenericTypeReferenceExpressionType ( Expression node, IType type ) : void
node Boo.Lang.Compiler.Ast.Expression
type IType
Результат void

BindTypeReferenceExpressionType() защищенный Метод

protected BindTypeReferenceExpressionType ( Expression node, IType type ) : void
node Boo.Lang.Compiler.Ast.Expression
type IType
Результат void

CantResolveAmbiguousMethodInvocation() защищенный Метод

protected CantResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entities ) : IEntity
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
entities IEntity
Результат IEntity

CheckBuiltinUsage() защищенный Метод

protected CheckBuiltinUsage ( ReferenceExpression node, IEntity entity ) : void
node Boo.Lang.Compiler.Ast.ReferenceExpression
entity IEntity
Результат void

CheckExactArgsParameters() защищенный Метод

protected CheckExactArgsParameters ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args, bool reportErrors ) : bool
method ICallableType
args Boo.Lang.Compiler.Ast.ExpressionCollection
reportErrors bool
Результат bool

CheckNameResolution() защищенный Метод

protected CheckNameResolution ( Node node, string name, IEntity resolvedEntity ) : bool
node Node
name string
resolvedEntity IEntity
Результат bool

CheckParameters() защищенный Метод

protected CheckParameters ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args, bool reportErrors ) : bool
method ICallableType
args Boo.Lang.Compiler.Ast.ExpressionCollection
reportErrors bool
Результат bool

CheckVarArgsParameters() защищенный Метод

protected CheckVarArgsParameters ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
method ICallableType
args Boo.Lang.Compiler.Ast.ExpressionCollection
Результат bool

ClearResolutionCacheFor() защищенный Метод

protected ClearResolutionCacheFor ( string name ) : void
name string
Результат void

CreateDefaultLocalInitializer() защищенный Метод

protected CreateDefaultLocalInitializer ( Node sourceNode, IEntity local ) : Expression
sourceNode Node
local IEntity
Результат Boo.Lang.Compiler.Ast.Expression

CreateEquals() защищенный Метод

protected CreateEquals ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : MethodInvocationExpression
node Boo.Lang.Compiler.Ast.BinaryExpression
Результат Boo.Lang.Compiler.Ast.MethodInvocationExpression

CreateMemberReferenceTarget() защищенный Метод

protected CreateMemberReferenceTarget ( Node sourceNode, IMember member ) : Expression
sourceNode Node
member IMember
Результат Boo.Lang.Compiler.Ast.Expression

DeclareLocal() защищенный Метод

protected DeclareLocal ( Node sourceNode, string name, IType localType, bool privateScope ) : IEntity
sourceNode Node
name string
localType IType
privateScope bool
Результат IEntity

DeclareTempLocal() защищенный Метод

protected DeclareTempLocal ( IType localType ) : InternalLocal
localType IType
Результат Boo.Lang.Compiler.TypeSystem.InternalLocal

Dispose() публичный Метод

public Dispose ( ) : void
Результат void

EmitUnknownIdentifierError() защищенный Метод

protected EmitUnknownIdentifierError ( Node node, string name ) : void
node Node
name string
Результат void

EnsureInternalEventInvocation() публичный Метод

public EnsureInternalEventInvocation ( IEvent ev, Expression node ) : bool
ev IEvent
node Boo.Lang.Compiler.Ast.Expression
Результат bool

EnsureRelatedNodeWasVisited() защищенный Метод

protected EnsureRelatedNodeWasVisited ( Node sourceNode, IEntity entity ) : void
sourceNode Node
entity IEntity
Результат void

EnterBinaryExpression() публичный Метод

public EnterBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
node Boo.Lang.Compiler.Ast.BinaryExpression
Результат bool

EnterMemberReferenceExpression() публичный Метод

public EnterMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : bool
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
Результат bool

EnterUnaryExpression() публичный Метод

public EnterUnaryExpression ( UnaryExpression node ) : bool
node Boo.Lang.Compiler.Ast.UnaryExpression
Результат bool

ExpandInPlaceBinaryExpression() защищенный Метод

protected ExpandInPlaceBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : Boo.Lang.Compiler.Ast.BinaryExpression
node Boo.Lang.Compiler.Ast.BinaryExpression
Результат Boo.Lang.Compiler.Ast.BinaryExpression

GetConstructedType() защищенный Метод

protected GetConstructedType ( IType genericType, IType argType ) : IType
genericType IType
argType IType
Результат IType

GetCorrectIterator() защищенный Метод

protected GetCorrectIterator ( Expression iterator ) : Expression
iterator Boo.Lang.Compiler.Ast.Expression
Результат Boo.Lang.Compiler.Ast.Expression

GetEnumeratorItemType() защищенный Метод

protected GetEnumeratorItemType ( IType iteratorType ) : IType
iteratorType IType
Результат IType

GetGeneratorReturnType() защищенный Метод

Allows a different language to use custom rules for generator return types.
protected GetGeneratorReturnType ( Boo.Lang.Compiler.TypeSystem.InternalMethod generator ) : IType
generator Boo.Lang.Compiler.TypeSystem.InternalMethod
Результат IType

HasNeitherReturnNorYield() защищенный Метод

protected HasNeitherReturnNorYield ( Method node ) : bool
node Boo.Lang.Compiler.Ast.Method
Результат bool

HasSideEffect() защищенный Метод

protected HasSideEffect ( Expression node ) : bool
node Boo.Lang.Compiler.Ast.Expression
Результат bool

Initialize() публичный Метод

public Initialize ( CompilerContext context ) : void
context CompilerContext
Результат void

IsArraySlicing() публичный статический Метод

public static IsArraySlicing ( Node node ) : bool
node Node
Результат bool

IsDuckTyped() защищенный Метод

protected IsDuckTyped ( IMember entity ) : bool
entity IMember
Результат bool

IsIndexedProperty() защищенный Метод

protected IsIndexedProperty ( Expression expression ) : bool
expression Boo.Lang.Compiler.Ast.Expression
Результат bool

IsValidIncrementDecrementOperand() защищенный Метод

protected IsValidIncrementDecrementOperand ( Expression e ) : bool
e Boo.Lang.Compiler.Ast.Expression
Результат bool

LeaveArrayLiteralExpression() публичный Метод

public LeaveArrayLiteralExpression ( Boo.Lang.Compiler.Ast.ArrayLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.ArrayLiteralExpression
Результат void

LeaveBinaryExpression() публичный Метод

public LeaveBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
Результат void

LeaveCastExpression() публичный Метод

public LeaveCastExpression ( Boo.Lang.Compiler.Ast.CastExpression node ) : void
node Boo.Lang.Compiler.Ast.CastExpression
Результат void

LeaveConditionalExpression() публичный Метод

public LeaveConditionalExpression ( Boo.Lang.Compiler.Ast.ConditionalExpression node ) : void
node Boo.Lang.Compiler.Ast.ConditionalExpression
Результат void

LeaveDeclaration() публичный Метод

public LeaveDeclaration ( Boo.Lang.Compiler.Ast.Declaration node ) : void
node Boo.Lang.Compiler.Ast.Declaration
Результат void

LeaveDeclarationStatement() публичный Метод

public LeaveDeclarationStatement ( Boo.Lang.Compiler.Ast.DeclarationStatement node ) : void
node Boo.Lang.Compiler.Ast.DeclarationStatement
Результат void

LeaveExplodeExpression() защищенный Метод

protected LeaveExplodeExpression ( UnaryExpression node ) : void
node Boo.Lang.Compiler.Ast.UnaryExpression
Результат void

LeaveExpressionInterpolationExpression() публичный Метод

public LeaveExpressionInterpolationExpression ( Boo.Lang.Compiler.Ast.ExpressionInterpolationExpression node ) : void
node Boo.Lang.Compiler.Ast.ExpressionInterpolationExpression
Результат void

LeaveExpressionStatement() публичный Метод

public LeaveExpressionStatement ( Boo.Lang.Compiler.Ast.ExpressionStatement node ) : void
node Boo.Lang.Compiler.Ast.ExpressionStatement
Результат void

LeaveGenericReferenceExpression() публичный Метод

public LeaveGenericReferenceExpression ( GenericReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.GenericReferenceExpression
Результат void

LeaveHashLiteralExpression() публичный Метод

public LeaveHashLiteralExpression ( Boo.Lang.Compiler.Ast.HashLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.HashLiteralExpression
Результат void

LeaveListLiteralExpression() публичный Метод

public LeaveListLiteralExpression ( Boo.Lang.Compiler.Ast.ListLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.ListLiteralExpression
Результат void

LeaveMemberReferenceExpression() публичный Метод

public LeaveMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
Результат void

LeaveParameterDeclaration() публичный Метод

public LeaveParameterDeclaration ( ParameterDeclaration node ) : void
node Boo.Lang.Compiler.Ast.ParameterDeclaration
Результат void

LeaveRaiseStatement() публичный Метод

public LeaveRaiseStatement ( Boo.Lang.Compiler.Ast.RaiseStatement node ) : void
node Boo.Lang.Compiler.Ast.RaiseStatement
Результат void

LeaveReturnStatement() публичный Метод

public LeaveReturnStatement ( Boo.Lang.Compiler.Ast.ReturnStatement node ) : void
node Boo.Lang.Compiler.Ast.ReturnStatement
Результат void

LeaveSlicingExpression() публичный Метод

public LeaveSlicingExpression ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
node Boo.Lang.Compiler.Ast.SlicingExpression
Результат void

LeaveTryCastExpression() публичный Метод

public LeaveTryCastExpression ( TryCastExpression node ) : void
node Boo.Lang.Compiler.Ast.TryCastExpression
Результат void

LeaveTypeofExpression() публичный Метод

public LeaveTypeofExpression ( Boo.Lang.Compiler.Ast.TypeofExpression node ) : void
node Boo.Lang.Compiler.Ast.TypeofExpression
Результат void

LeaveUnaryExpression() публичный Метод

public LeaveUnaryExpression ( UnaryExpression node ) : void
node Boo.Lang.Compiler.Ast.UnaryExpression
Результат void

LeaveYieldStatement() публичный Метод

public LeaveYieldStatement ( Boo.Lang.Compiler.Ast.YieldStatement node ) : void
node Boo.Lang.Compiler.Ast.YieldStatement
Результат void

LocalByName() защищенный Метод

protected LocalByName ( string name ) : Local
name string
Результат Local

LocalToReuseFor() защищенный Метод

protected LocalToReuseFor ( Boo.Lang.Compiler.Ast.Declaration d ) : Local
d Boo.Lang.Compiler.Ast.Declaration
Результат Local

MemberNotFound() защищенный Метод

protected MemberNotFound ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node, INamespace ns ) : void
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
ns INamespace
Результат void

MemberReferenceFromReference() защищенный Метод

protected MemberReferenceFromReference ( ReferenceExpression node, IMember member ) : Boo.Lang.Compiler.Ast.MemberReferenceExpression
node Boo.Lang.Compiler.Ast.ReferenceExpression
member IMember
Результат Boo.Lang.Compiler.Ast.MemberReferenceExpression

NamedArgumentNotFound() защищенный Метод

protected NamedArgumentNotFound ( IType type, ReferenceExpression name ) : void
type IType
name Boo.Lang.Compiler.Ast.ReferenceExpression
Результат void

OnAttribute() публичный Метод

public OnAttribute ( Attribute node ) : void
node Boo.Lang.Compiler.Ast.Attribute
Результат void

OnBlockExpression() публичный Метод

public OnBlockExpression ( BlockExpression node ) : void
node Boo.Lang.Compiler.Ast.BlockExpression
Результат void

OnBoolLiteralExpression() публичный Метод

public OnBoolLiteralExpression ( BoolLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.BoolLiteralExpression
Результат void

OnCharLiteralExpression() публичный Метод

public OnCharLiteralExpression ( CharLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.CharLiteralExpression
Результат void

OnClassDefinition() публичный Метод

public OnClassDefinition ( ClassDefinition node ) : void
node Boo.Lang.Compiler.Ast.ClassDefinition
Результат void

OnConstructor() публичный Метод

public OnConstructor ( Constructor node ) : void
node Boo.Lang.Compiler.Ast.Constructor
Результат void

OnDoubleLiteralExpression() публичный Метод

public OnDoubleLiteralExpression ( DoubleLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.DoubleLiteralExpression
Результат void

OnExceptionHandler() публичный Метод

public OnExceptionHandler ( Boo.Lang.Compiler.Ast.ExceptionHandler node ) : void
node Boo.Lang.Compiler.Ast.ExceptionHandler
Результат void

OnExtendedGeneratorExpression() публичный Метод

public OnExtendedGeneratorExpression ( Boo.Lang.Compiler.Ast.ExtendedGeneratorExpression node ) : void
node Boo.Lang.Compiler.Ast.ExtendedGeneratorExpression
Результат void

OnField() публичный Метод

public OnField ( Boo.Lang.Compiler.Ast.Field node ) : void
node Boo.Lang.Compiler.Ast.Field
Результат void

OnForStatement() публичный Метод

public OnForStatement ( Boo.Lang.Compiler.Ast.ForStatement node ) : void
node Boo.Lang.Compiler.Ast.ForStatement
Результат void

OnGeneratorExpression() публичный Метод

public OnGeneratorExpression ( Boo.Lang.Compiler.Ast.GeneratorExpression node ) : void
node Boo.Lang.Compiler.Ast.GeneratorExpression
Результат void

OnGotoStatement() публичный Метод

public OnGotoStatement ( Boo.Lang.Compiler.Ast.GotoStatement node ) : void
node Boo.Lang.Compiler.Ast.GotoStatement
Результат void

OnIntegerLiteralExpression() публичный Метод

public OnIntegerLiteralExpression ( IntegerLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.IntegerLiteralExpression
Результат void

OnInterfaceDefinition() публичный Метод

public OnInterfaceDefinition ( Boo.Lang.Compiler.Ast.InterfaceDefinition node ) : void
node Boo.Lang.Compiler.Ast.InterfaceDefinition
Результат void

OnMethod() публичный Метод

public OnMethod ( Method method ) : void
method Boo.Lang.Compiler.Ast.Method
Результат void

OnMethodInvocationExpression() публичный Метод

public OnMethodInvocationExpression ( MethodInvocationExpression node ) : void
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
Результат void

OnModule() публичный Метод

public OnModule ( Module module ) : void
module Boo.Lang.Compiler.Ast.Module
Результат void

OnNullLiteralExpression() публичный Метод

public OnNullLiteralExpression ( Boo.Lang.Compiler.Ast.NullLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.NullLiteralExpression
Результат void

OnProperty() публичный Метод

public OnProperty ( Property node ) : void
node Property
Результат void

OnRELiteralExpression() публичный Метод

public OnRELiteralExpression ( RELiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.RELiteralExpression
Результат void

OnReferenceExpression() публичный Метод

public OnReferenceExpression ( ReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.ReferenceExpression
Результат void

OnSelfLiteralExpression() публичный Метод

public OnSelfLiteralExpression ( Boo.Lang.Compiler.Ast.SelfLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.SelfLiteralExpression
Результат void

OnStatementTypeMember() публичный Метод

public OnStatementTypeMember ( Boo.Lang.Compiler.Ast.StatementTypeMember node ) : void
node Boo.Lang.Compiler.Ast.StatementTypeMember
Результат void

OnStringLiteralExpression() публичный Метод

public OnStringLiteralExpression ( Boo.Lang.Compiler.Ast.StringLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.StringLiteralExpression
Результат void

OnSuperLiteralExpression() публичный Метод

public OnSuperLiteralExpression ( Boo.Lang.Compiler.Ast.SuperLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.SuperLiteralExpression
Результат void

OnTimeSpanLiteralExpression() публичный Метод

public OnTimeSpanLiteralExpression ( TimeSpanLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.TimeSpanLiteralExpression
Результат void

OnUnpackStatement() публичный Метод

public OnUnpackStatement ( Boo.Lang.Compiler.Ast.UnpackStatement node ) : void
node Boo.Lang.Compiler.Ast.UnpackStatement
Результат void

ProcessAssignment() защищенный Метод

protected ProcessAssignment ( BinaryExpression node ) : void
node BinaryExpression
Результат void

ProcessAutoLocalDeclaration() защищенный Метод

protected ProcessAutoLocalDeclaration ( BinaryExpression node, ReferenceExpression reference ) : void
node BinaryExpression
reference ReferenceExpression
Результат void

ProcessBuiltinInvocation() защищенный Метод

protected ProcessBuiltinInvocation ( MethodInvocationExpression node, BuiltinFunction function ) : void
node MethodInvocationExpression
function BuiltinFunction
Результат void

ProcessDeclarationForIterator() защищенный Метод

protected ProcessDeclarationForIterator ( Declaration d, IType defaultDeclType ) : void
d Declaration
defaultDeclType IType
Результат void

ProcessDeclarationsForIterator() защищенный Метод

protected ProcessDeclarationsForIterator ( DeclarationCollection declarations, IType iteratorType ) : void
declarations DeclarationCollection
iteratorType IType
Результат void

ProcessInvocationOnUnknownCallableExpression() защищенный Метод

protected ProcessInvocationOnUnknownCallableExpression ( MethodInvocationExpression node ) : void
node MethodInvocationExpression
Результат void

ProcessIterator() защищенный Метод

Process a iterator and its declarations and returns a new iterator expression if necessary.
protected ProcessIterator ( Expression iterator, DeclarationCollection declarations ) : Expression
iterator Expression
declarations DeclarationCollection
Результат Expression

ProcessMemberReferenceExpression() защищенный Метод

protected ProcessMemberReferenceExpression ( MemberReferenceExpression node ) : void
node MemberReferenceExpression
Результат void

ProcessMethodInvocation() защищенный Метод

protected ProcessMethodInvocation ( MethodInvocationExpression node, IMethod method ) : void
node MethodInvocationExpression
method IMethod
Результат void

ProcessMethodInvocationWithInvalidParameters() защищенный Метод

protected ProcessMethodInvocationWithInvalidParameters ( MethodInvocationExpression node, IMethod targetMethod ) : bool
node MethodInvocationExpression
targetMethod IMethod
Результат bool

Reify() публичный Метод

public Reify ( TypeMember member ) : TypeMember
member TypeMember
Результат TypeMember

ResolveAmbiguousMethodInvocation() защищенный Метод

protected ResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entity ) : IEntity
node MethodInvocationExpression
entity IEntity
Результат IEntity

ResolveFieldPropertyEvent() защищенный Метод

protected ResolveFieldPropertyEvent ( IType type, string name ) : IEntity
type IType
name string
Результат IEntity

ResolveMethod() защищенный Метод

protected ResolveMethod ( IType type, string name ) : IMethod
type IType
name string
Результат IMethod

ResolveProperty() защищенный Метод

protected ResolveProperty ( IType type, string name ) : IProperty
type IType
name string
Результат IProperty

ResolveRuntimeOperator() защищенный Метод

protected ResolveRuntimeOperator ( BinaryExpression node, string operatorName, MethodInvocationExpression mie ) : bool
node BinaryExpression
operatorName string
mie MethodInvocationExpression
Результат bool

Run() публичный Метод

public Run ( ) : void
Результат void

ShouldRebindMember() защищенный Метод

protected ShouldRebindMember ( IEntity entity ) : bool
entity IEntity
Результат bool

TryToResolveAmbiguousAssignment() защищенный Метод

protected TryToResolveAmbiguousAssignment ( BinaryExpression node ) : void
node BinaryExpression
Результат void

ValidateAssignment() защищенный Метод

protected ValidateAssignment ( BinaryExpression node ) : bool
node BinaryExpression
Результат bool

VisitForStatementBlock() защищенный Метод

protected VisitForStatementBlock ( ForStatement node ) : void
node ForStatement
Результат void

VisitMemberPreservingContext() защищенный Метод

protected VisitMemberPreservingContext ( TypeMember node ) : void
node TypeMember
Результат void