C# Class Boo.Lang.Compiler.Steps.ProcessMethodBodies

AST semantic evaluation.
Inheritance: AbstractNamespaceSensitiveVisitorCompilerStep
Afficher le fichier Open project: boo-lang/boo

Private Properties

Свойство Type Description
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

Méthodes publiques

Méthode Description
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

Méthodes protégées

Méthode Description
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

Private Methods

Méthode Description
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

Method Details

AddResolvedNamedArgumentToEval() protected méthode

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
Résultat void

AssertDeclarationName() protected méthode

protected AssertDeclarationName ( Boo.Lang.Compiler.Ast.Declaration d ) : bool
d Boo.Lang.Compiler.Ast.Declaration
Résultat bool

AssertLValue() protected méthode

protected AssertLValue ( Node node, IEntity entity ) : bool
node Node
entity IEntity
Résultat bool

AssertUniqueLocal() protected méthode

protected AssertUniqueLocal ( Boo.Lang.Compiler.Ast.Declaration d ) : bool
d Boo.Lang.Compiler.Ast.Declaration
Résultat bool

BindBinaryExpression() protected méthode

protected BindBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
Résultat void

BindNonGenericTypeReferenceExpressionType() protected méthode

protected BindNonGenericTypeReferenceExpressionType ( Expression node, IType type ) : void
node Boo.Lang.Compiler.Ast.Expression
type IType
Résultat void

BindTypeReferenceExpressionType() protected méthode

protected BindTypeReferenceExpressionType ( Expression node, IType type ) : void
node Boo.Lang.Compiler.Ast.Expression
type IType
Résultat void

CantResolveAmbiguousMethodInvocation() protected méthode

protected CantResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entities ) : IEntity
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
entities IEntity
Résultat IEntity

CheckBuiltinUsage() protected méthode

protected CheckBuiltinUsage ( ReferenceExpression node, IEntity entity ) : void
node Boo.Lang.Compiler.Ast.ReferenceExpression
entity IEntity
Résultat void

CheckExactArgsParameters() protected méthode

protected CheckExactArgsParameters ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args, bool reportErrors ) : bool
method ICallableType
args Boo.Lang.Compiler.Ast.ExpressionCollection
reportErrors bool
Résultat bool

CheckNameResolution() protected méthode

protected CheckNameResolution ( Node node, string name, IEntity resolvedEntity ) : bool
node Node
name string
resolvedEntity IEntity
Résultat bool

CheckParameters() protected méthode

protected CheckParameters ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args, bool reportErrors ) : bool
method ICallableType
args Boo.Lang.Compiler.Ast.ExpressionCollection
reportErrors bool
Résultat bool

CheckVarArgsParameters() protected méthode

protected CheckVarArgsParameters ( ICallableType method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
method ICallableType
args Boo.Lang.Compiler.Ast.ExpressionCollection
Résultat bool

ClearResolutionCacheFor() protected méthode

protected ClearResolutionCacheFor ( string name ) : void
name string
Résultat void

CreateDefaultLocalInitializer() protected méthode

protected CreateDefaultLocalInitializer ( Node sourceNode, IEntity local ) : Expression
sourceNode Node
local IEntity
Résultat Boo.Lang.Compiler.Ast.Expression

CreateEquals() protected méthode

protected CreateEquals ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : MethodInvocationExpression
node Boo.Lang.Compiler.Ast.BinaryExpression
Résultat Boo.Lang.Compiler.Ast.MethodInvocationExpression

CreateMemberReferenceTarget() protected méthode

protected CreateMemberReferenceTarget ( Node sourceNode, IMember member ) : Expression
sourceNode Node
member IMember
Résultat Boo.Lang.Compiler.Ast.Expression

DeclareLocal() protected méthode

protected DeclareLocal ( Node sourceNode, string name, IType localType, bool privateScope ) : IEntity
sourceNode Node
name string
localType IType
privateScope bool
Résultat IEntity

DeclareTempLocal() protected méthode

protected DeclareTempLocal ( IType localType ) : InternalLocal
localType IType
Résultat Boo.Lang.Compiler.TypeSystem.InternalLocal

Dispose() public méthode

public Dispose ( ) : void
Résultat void

EmitUnknownIdentifierError() protected méthode

protected EmitUnknownIdentifierError ( Node node, string name ) : void
node Node
name string
Résultat void

EnsureInternalEventInvocation() public méthode

public EnsureInternalEventInvocation ( IEvent ev, Expression node ) : bool
ev IEvent
node Boo.Lang.Compiler.Ast.Expression
Résultat bool

EnsureRelatedNodeWasVisited() protected méthode

protected EnsureRelatedNodeWasVisited ( Node sourceNode, IEntity entity ) : void
sourceNode Node
entity IEntity
Résultat void

EnterBinaryExpression() public méthode

public EnterBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
node Boo.Lang.Compiler.Ast.BinaryExpression
Résultat bool

EnterMemberReferenceExpression() public méthode

public EnterMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : bool
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
Résultat bool

EnterUnaryExpression() public méthode

public EnterUnaryExpression ( UnaryExpression node ) : bool
node Boo.Lang.Compiler.Ast.UnaryExpression
Résultat bool

ExpandInPlaceBinaryExpression() protected méthode

protected ExpandInPlaceBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : Boo.Lang.Compiler.Ast.BinaryExpression
node Boo.Lang.Compiler.Ast.BinaryExpression
Résultat Boo.Lang.Compiler.Ast.BinaryExpression

GetConstructedType() protected méthode

protected GetConstructedType ( IType genericType, IType argType ) : IType
genericType IType
argType IType
Résultat IType

GetCorrectIterator() protected méthode

protected GetCorrectIterator ( Expression iterator ) : Expression
iterator Boo.Lang.Compiler.Ast.Expression
Résultat Boo.Lang.Compiler.Ast.Expression

GetEnumeratorItemType() protected méthode

protected GetEnumeratorItemType ( IType iteratorType ) : IType
iteratorType IType
Résultat IType

GetGeneratorReturnType() protected méthode

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
Résultat IType

HasNeitherReturnNorYield() protected méthode

protected HasNeitherReturnNorYield ( Method node ) : bool
node Boo.Lang.Compiler.Ast.Method
Résultat bool

HasSideEffect() protected méthode

protected HasSideEffect ( Expression node ) : bool
node Boo.Lang.Compiler.Ast.Expression
Résultat bool

Initialize() public méthode

public Initialize ( CompilerContext context ) : void
context CompilerContext
Résultat void

IsArraySlicing() public static méthode

public static IsArraySlicing ( Node node ) : bool
node Node
Résultat bool

IsDuckTyped() protected méthode

protected IsDuckTyped ( IMember entity ) : bool
entity IMember
Résultat bool

IsIndexedProperty() protected méthode

protected IsIndexedProperty ( Expression expression ) : bool
expression Boo.Lang.Compiler.Ast.Expression
Résultat bool

IsValidIncrementDecrementOperand() protected méthode

protected IsValidIncrementDecrementOperand ( Expression e ) : bool
e Boo.Lang.Compiler.Ast.Expression
Résultat bool

LeaveArrayLiteralExpression() public méthode

public LeaveArrayLiteralExpression ( Boo.Lang.Compiler.Ast.ArrayLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.ArrayLiteralExpression
Résultat void

LeaveBinaryExpression() public méthode

public LeaveBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
Résultat void

LeaveCastExpression() public méthode

public LeaveCastExpression ( Boo.Lang.Compiler.Ast.CastExpression node ) : void
node Boo.Lang.Compiler.Ast.CastExpression
Résultat void

LeaveConditionalExpression() public méthode

public LeaveConditionalExpression ( Boo.Lang.Compiler.Ast.ConditionalExpression node ) : void
node Boo.Lang.Compiler.Ast.ConditionalExpression
Résultat void

LeaveDeclaration() public méthode

public LeaveDeclaration ( Boo.Lang.Compiler.Ast.Declaration node ) : void
node Boo.Lang.Compiler.Ast.Declaration
Résultat void

LeaveDeclarationStatement() public méthode

public LeaveDeclarationStatement ( Boo.Lang.Compiler.Ast.DeclarationStatement node ) : void
node Boo.Lang.Compiler.Ast.DeclarationStatement
Résultat void

LeaveExplodeExpression() protected méthode

protected LeaveExplodeExpression ( UnaryExpression node ) : void
node Boo.Lang.Compiler.Ast.UnaryExpression
Résultat void

LeaveExpressionInterpolationExpression() public méthode

public LeaveExpressionInterpolationExpression ( Boo.Lang.Compiler.Ast.ExpressionInterpolationExpression node ) : void
node Boo.Lang.Compiler.Ast.ExpressionInterpolationExpression
Résultat void

LeaveExpressionStatement() public méthode

public LeaveExpressionStatement ( Boo.Lang.Compiler.Ast.ExpressionStatement node ) : void
node Boo.Lang.Compiler.Ast.ExpressionStatement
Résultat void

LeaveGenericReferenceExpression() public méthode

public LeaveGenericReferenceExpression ( GenericReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.GenericReferenceExpression
Résultat void

LeaveHashLiteralExpression() public méthode

public LeaveHashLiteralExpression ( Boo.Lang.Compiler.Ast.HashLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.HashLiteralExpression
Résultat void

LeaveListLiteralExpression() public méthode

public LeaveListLiteralExpression ( Boo.Lang.Compiler.Ast.ListLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.ListLiteralExpression
Résultat void

LeaveMemberReferenceExpression() public méthode

public LeaveMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
Résultat void

LeaveParameterDeclaration() public méthode

public LeaveParameterDeclaration ( ParameterDeclaration node ) : void
node Boo.Lang.Compiler.Ast.ParameterDeclaration
Résultat void

LeaveRaiseStatement() public méthode

public LeaveRaiseStatement ( Boo.Lang.Compiler.Ast.RaiseStatement node ) : void
node Boo.Lang.Compiler.Ast.RaiseStatement
Résultat void

LeaveReturnStatement() public méthode

public LeaveReturnStatement ( Boo.Lang.Compiler.Ast.ReturnStatement node ) : void
node Boo.Lang.Compiler.Ast.ReturnStatement
Résultat void

LeaveSlicingExpression() public méthode

public LeaveSlicingExpression ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
node Boo.Lang.Compiler.Ast.SlicingExpression
Résultat void

LeaveTryCastExpression() public méthode

public LeaveTryCastExpression ( TryCastExpression node ) : void
node Boo.Lang.Compiler.Ast.TryCastExpression
Résultat void

LeaveTypeofExpression() public méthode

public LeaveTypeofExpression ( Boo.Lang.Compiler.Ast.TypeofExpression node ) : void
node Boo.Lang.Compiler.Ast.TypeofExpression
Résultat void

LeaveUnaryExpression() public méthode

public LeaveUnaryExpression ( UnaryExpression node ) : void
node Boo.Lang.Compiler.Ast.UnaryExpression
Résultat void

LeaveYieldStatement() public méthode

public LeaveYieldStatement ( Boo.Lang.Compiler.Ast.YieldStatement node ) : void
node Boo.Lang.Compiler.Ast.YieldStatement
Résultat void

LocalByName() protected méthode

protected LocalByName ( string name ) : Local
name string
Résultat Local

LocalToReuseFor() protected méthode

protected LocalToReuseFor ( Boo.Lang.Compiler.Ast.Declaration d ) : Local
d Boo.Lang.Compiler.Ast.Declaration
Résultat Local

MemberNotFound() protected méthode

protected MemberNotFound ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node, INamespace ns ) : void
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
ns INamespace
Résultat void

MemberReferenceFromReference() protected méthode

protected MemberReferenceFromReference ( ReferenceExpression node, IMember member ) : Boo.Lang.Compiler.Ast.MemberReferenceExpression
node Boo.Lang.Compiler.Ast.ReferenceExpression
member IMember
Résultat Boo.Lang.Compiler.Ast.MemberReferenceExpression

NamedArgumentNotFound() protected méthode

protected NamedArgumentNotFound ( IType type, ReferenceExpression name ) : void
type IType
name Boo.Lang.Compiler.Ast.ReferenceExpression
Résultat void

OnAttribute() public méthode

public OnAttribute ( Attribute node ) : void
node Boo.Lang.Compiler.Ast.Attribute
Résultat void

OnBlockExpression() public méthode

public OnBlockExpression ( BlockExpression node ) : void
node Boo.Lang.Compiler.Ast.BlockExpression
Résultat void

OnBoolLiteralExpression() public méthode

public OnBoolLiteralExpression ( BoolLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.BoolLiteralExpression
Résultat void

OnCharLiteralExpression() public méthode

public OnCharLiteralExpression ( CharLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.CharLiteralExpression
Résultat void

OnClassDefinition() public méthode

public OnClassDefinition ( ClassDefinition node ) : void
node Boo.Lang.Compiler.Ast.ClassDefinition
Résultat void

OnConstructor() public méthode

public OnConstructor ( Constructor node ) : void
node Boo.Lang.Compiler.Ast.Constructor
Résultat void

OnDoubleLiteralExpression() public méthode

public OnDoubleLiteralExpression ( DoubleLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.DoubleLiteralExpression
Résultat void

OnExceptionHandler() public méthode

public OnExceptionHandler ( Boo.Lang.Compiler.Ast.ExceptionHandler node ) : void
node Boo.Lang.Compiler.Ast.ExceptionHandler
Résultat void

OnExtendedGeneratorExpression() public méthode

public OnExtendedGeneratorExpression ( Boo.Lang.Compiler.Ast.ExtendedGeneratorExpression node ) : void
node Boo.Lang.Compiler.Ast.ExtendedGeneratorExpression
Résultat void

OnField() public méthode

public OnField ( Boo.Lang.Compiler.Ast.Field node ) : void
node Boo.Lang.Compiler.Ast.Field
Résultat void

OnForStatement() public méthode

public OnForStatement ( Boo.Lang.Compiler.Ast.ForStatement node ) : void
node Boo.Lang.Compiler.Ast.ForStatement
Résultat void

OnGeneratorExpression() public méthode

public OnGeneratorExpression ( Boo.Lang.Compiler.Ast.GeneratorExpression node ) : void
node Boo.Lang.Compiler.Ast.GeneratorExpression
Résultat void

OnGotoStatement() public méthode

public OnGotoStatement ( Boo.Lang.Compiler.Ast.GotoStatement node ) : void
node Boo.Lang.Compiler.Ast.GotoStatement
Résultat void

OnIntegerLiteralExpression() public méthode

public OnIntegerLiteralExpression ( IntegerLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.IntegerLiteralExpression
Résultat void

OnInterfaceDefinition() public méthode

public OnInterfaceDefinition ( Boo.Lang.Compiler.Ast.InterfaceDefinition node ) : void
node Boo.Lang.Compiler.Ast.InterfaceDefinition
Résultat void

OnMethod() public méthode

public OnMethod ( Method method ) : void
method Boo.Lang.Compiler.Ast.Method
Résultat void

OnMethodInvocationExpression() public méthode

public OnMethodInvocationExpression ( MethodInvocationExpression node ) : void
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
Résultat void

OnModule() public méthode

public OnModule ( Module module ) : void
module Boo.Lang.Compiler.Ast.Module
Résultat void

OnNullLiteralExpression() public méthode

public OnNullLiteralExpression ( Boo.Lang.Compiler.Ast.NullLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.NullLiteralExpression
Résultat void

OnProperty() public méthode

public OnProperty ( Property node ) : void
node Property
Résultat void

OnRELiteralExpression() public méthode

public OnRELiteralExpression ( RELiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.RELiteralExpression
Résultat void

OnReferenceExpression() public méthode

public OnReferenceExpression ( ReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.ReferenceExpression
Résultat void

OnSelfLiteralExpression() public méthode

public OnSelfLiteralExpression ( Boo.Lang.Compiler.Ast.SelfLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.SelfLiteralExpression
Résultat void

OnStatementTypeMember() public méthode

public OnStatementTypeMember ( Boo.Lang.Compiler.Ast.StatementTypeMember node ) : void
node Boo.Lang.Compiler.Ast.StatementTypeMember
Résultat void

OnStringLiteralExpression() public méthode

public OnStringLiteralExpression ( Boo.Lang.Compiler.Ast.StringLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.StringLiteralExpression
Résultat void

OnSuperLiteralExpression() public méthode

public OnSuperLiteralExpression ( Boo.Lang.Compiler.Ast.SuperLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.SuperLiteralExpression
Résultat void

OnTimeSpanLiteralExpression() public méthode

public OnTimeSpanLiteralExpression ( TimeSpanLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.TimeSpanLiteralExpression
Résultat void

OnUnpackStatement() public méthode

public OnUnpackStatement ( Boo.Lang.Compiler.Ast.UnpackStatement node ) : void
node Boo.Lang.Compiler.Ast.UnpackStatement
Résultat void

ProcessAssignment() protected méthode

protected ProcessAssignment ( BinaryExpression node ) : void
node BinaryExpression
Résultat void

ProcessAutoLocalDeclaration() protected méthode

protected ProcessAutoLocalDeclaration ( BinaryExpression node, ReferenceExpression reference ) : void
node BinaryExpression
reference ReferenceExpression
Résultat void

ProcessBuiltinInvocation() protected méthode

protected ProcessBuiltinInvocation ( MethodInvocationExpression node, BuiltinFunction function ) : void
node MethodInvocationExpression
function BuiltinFunction
Résultat void

ProcessDeclarationForIterator() protected méthode

protected ProcessDeclarationForIterator ( Declaration d, IType defaultDeclType ) : void
d Declaration
defaultDeclType IType
Résultat void

ProcessDeclarationsForIterator() protected méthode

protected ProcessDeclarationsForIterator ( DeclarationCollection declarations, IType iteratorType ) : void
declarations DeclarationCollection
iteratorType IType
Résultat void

ProcessInvocationOnUnknownCallableExpression() protected méthode

protected ProcessInvocationOnUnknownCallableExpression ( MethodInvocationExpression node ) : void
node MethodInvocationExpression
Résultat void

ProcessIterator() protected méthode

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
Résultat Expression

ProcessMemberReferenceExpression() protected méthode

protected ProcessMemberReferenceExpression ( MemberReferenceExpression node ) : void
node MemberReferenceExpression
Résultat void

ProcessMethodInvocation() protected méthode

protected ProcessMethodInvocation ( MethodInvocationExpression node, IMethod method ) : void
node MethodInvocationExpression
method IMethod
Résultat void

ProcessMethodInvocationWithInvalidParameters() protected méthode

protected ProcessMethodInvocationWithInvalidParameters ( MethodInvocationExpression node, IMethod targetMethod ) : bool
node MethodInvocationExpression
targetMethod IMethod
Résultat bool

Reify() public méthode

public Reify ( TypeMember member ) : TypeMember
member TypeMember
Résultat TypeMember

ResolveAmbiguousMethodInvocation() protected méthode

protected ResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entity ) : IEntity
node MethodInvocationExpression
entity IEntity
Résultat IEntity

ResolveFieldPropertyEvent() protected méthode

protected ResolveFieldPropertyEvent ( IType type, string name ) : IEntity
type IType
name string
Résultat IEntity

ResolveMethod() protected méthode

protected ResolveMethod ( IType type, string name ) : IMethod
type IType
name string
Résultat IMethod

ResolveProperty() protected méthode

protected ResolveProperty ( IType type, string name ) : IProperty
type IType
name string
Résultat IProperty

ResolveRuntimeOperator() protected méthode

protected ResolveRuntimeOperator ( BinaryExpression node, string operatorName, MethodInvocationExpression mie ) : bool
node BinaryExpression
operatorName string
mie MethodInvocationExpression
Résultat bool

Run() public méthode

public Run ( ) : void
Résultat void

ShouldRebindMember() protected méthode

protected ShouldRebindMember ( IEntity entity ) : bool
entity IEntity
Résultat bool

TryToResolveAmbiguousAssignment() protected méthode

protected TryToResolveAmbiguousAssignment ( BinaryExpression node ) : void
node BinaryExpression
Résultat void

ValidateAssignment() protected méthode

protected ValidateAssignment ( BinaryExpression node ) : bool
node BinaryExpression
Résultat bool

VisitForStatementBlock() protected méthode

protected VisitForStatementBlock ( ForStatement node ) : void
node ForStatement
Résultat void

VisitMemberPreservingContext() protected méthode

protected VisitMemberPreservingContext ( TypeMember node ) : void
node TypeMember
Résultat void