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

AST semantic evaluation.
Inheritance: AbstractNamespaceSensitiveVisitorCompilerStep
Datei anzeigen Open project: boo-lang/boo

Private Properties

Property 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

Public Methods

Method 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

Protected Methods

Method 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

Method 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 method

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
return void

AssertDeclarationName() protected method

protected AssertDeclarationName ( Boo.Lang.Compiler.Ast.Declaration d ) : bool
d Boo.Lang.Compiler.Ast.Declaration
return bool

AssertLValue() protected method

protected AssertLValue ( Node node, IEntity entity ) : bool
node Node
entity IEntity
return bool

AssertUniqueLocal() protected method

protected AssertUniqueLocal ( Boo.Lang.Compiler.Ast.Declaration d ) : bool
d Boo.Lang.Compiler.Ast.Declaration
return bool

BindBinaryExpression() protected method

protected BindBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
return void

BindNonGenericTypeReferenceExpressionType() protected method

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

BindTypeReferenceExpressionType() protected method

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

CantResolveAmbiguousMethodInvocation() protected method

protected CantResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entities ) : IEntity
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
entities IEntity
return IEntity

CheckBuiltinUsage() protected method

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

CheckExactArgsParameters() protected method

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

CheckNameResolution() protected method

protected CheckNameResolution ( Node node, string name, IEntity resolvedEntity ) : bool
node Node
name string
resolvedEntity IEntity
return bool

CheckParameters() protected method

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

CheckVarArgsParameters() protected method

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

ClearResolutionCacheFor() protected method

protected ClearResolutionCacheFor ( string name ) : void
name string
return void

CreateDefaultLocalInitializer() protected method

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

CreateEquals() protected method

protected CreateEquals ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : MethodInvocationExpression
node Boo.Lang.Compiler.Ast.BinaryExpression
return Boo.Lang.Compiler.Ast.MethodInvocationExpression

CreateMemberReferenceTarget() protected method

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

DeclareLocal() protected method

protected DeclareLocal ( Node sourceNode, string name, IType localType, bool privateScope ) : IEntity
sourceNode Node
name string
localType IType
privateScope bool
return IEntity

DeclareTempLocal() protected method

protected DeclareTempLocal ( IType localType ) : InternalLocal
localType IType
return Boo.Lang.Compiler.TypeSystem.InternalLocal

Dispose() public method

public Dispose ( ) : void
return void

EmitUnknownIdentifierError() protected method

protected EmitUnknownIdentifierError ( Node node, string name ) : void
node Node
name string
return void

EnsureInternalEventInvocation() public method

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

EnsureRelatedNodeWasVisited() protected method

protected EnsureRelatedNodeWasVisited ( Node sourceNode, IEntity entity ) : void
sourceNode Node
entity IEntity
return void

EnterBinaryExpression() public method

public EnterBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
node Boo.Lang.Compiler.Ast.BinaryExpression
return bool

EnterMemberReferenceExpression() public method

public EnterMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : bool
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
return bool

EnterUnaryExpression() public method

public EnterUnaryExpression ( UnaryExpression node ) : bool
node Boo.Lang.Compiler.Ast.UnaryExpression
return bool

ExpandInPlaceBinaryExpression() protected method

protected ExpandInPlaceBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : Boo.Lang.Compiler.Ast.BinaryExpression
node Boo.Lang.Compiler.Ast.BinaryExpression
return Boo.Lang.Compiler.Ast.BinaryExpression

GetConstructedType() protected method

protected GetConstructedType ( IType genericType, IType argType ) : IType
genericType IType
argType IType
return IType

GetCorrectIterator() protected method

protected GetCorrectIterator ( Expression iterator ) : Expression
iterator Boo.Lang.Compiler.Ast.Expression
return Boo.Lang.Compiler.Ast.Expression

GetEnumeratorItemType() protected method

protected GetEnumeratorItemType ( IType iteratorType ) : IType
iteratorType IType
return IType

GetGeneratorReturnType() protected method

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
return IType

HasNeitherReturnNorYield() protected method

protected HasNeitherReturnNorYield ( Method node ) : bool
node Boo.Lang.Compiler.Ast.Method
return bool

HasSideEffect() protected method

protected HasSideEffect ( Expression node ) : bool
node Boo.Lang.Compiler.Ast.Expression
return bool

Initialize() public method

public Initialize ( CompilerContext context ) : void
context CompilerContext
return void

IsArraySlicing() public static method

public static IsArraySlicing ( Node node ) : bool
node Node
return bool

IsDuckTyped() protected method

protected IsDuckTyped ( IMember entity ) : bool
entity IMember
return bool

IsIndexedProperty() protected method

protected IsIndexedProperty ( Expression expression ) : bool
expression Boo.Lang.Compiler.Ast.Expression
return bool

IsValidIncrementDecrementOperand() protected method

protected IsValidIncrementDecrementOperand ( Expression e ) : bool
e Boo.Lang.Compiler.Ast.Expression
return bool

LeaveArrayLiteralExpression() public method

public LeaveArrayLiteralExpression ( Boo.Lang.Compiler.Ast.ArrayLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.ArrayLiteralExpression
return void

LeaveBinaryExpression() public method

public LeaveBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
return void

LeaveCastExpression() public method

public LeaveCastExpression ( Boo.Lang.Compiler.Ast.CastExpression node ) : void
node Boo.Lang.Compiler.Ast.CastExpression
return void

LeaveConditionalExpression() public method

public LeaveConditionalExpression ( Boo.Lang.Compiler.Ast.ConditionalExpression node ) : void
node Boo.Lang.Compiler.Ast.ConditionalExpression
return void

LeaveDeclaration() public method

public LeaveDeclaration ( Boo.Lang.Compiler.Ast.Declaration node ) : void
node Boo.Lang.Compiler.Ast.Declaration
return void

LeaveDeclarationStatement() public method

public LeaveDeclarationStatement ( Boo.Lang.Compiler.Ast.DeclarationStatement node ) : void
node Boo.Lang.Compiler.Ast.DeclarationStatement
return void

LeaveExplodeExpression() protected method

protected LeaveExplodeExpression ( UnaryExpression node ) : void
node Boo.Lang.Compiler.Ast.UnaryExpression
return void

LeaveExpressionInterpolationExpression() public method

public LeaveExpressionInterpolationExpression ( Boo.Lang.Compiler.Ast.ExpressionInterpolationExpression node ) : void
node Boo.Lang.Compiler.Ast.ExpressionInterpolationExpression
return void

LeaveExpressionStatement() public method

public LeaveExpressionStatement ( Boo.Lang.Compiler.Ast.ExpressionStatement node ) : void
node Boo.Lang.Compiler.Ast.ExpressionStatement
return void

LeaveGenericReferenceExpression() public method

public LeaveGenericReferenceExpression ( GenericReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.GenericReferenceExpression
return void

LeaveHashLiteralExpression() public method

public LeaveHashLiteralExpression ( Boo.Lang.Compiler.Ast.HashLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.HashLiteralExpression
return void

LeaveListLiteralExpression() public method

public LeaveListLiteralExpression ( Boo.Lang.Compiler.Ast.ListLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.ListLiteralExpression
return void

LeaveMemberReferenceExpression() public method

public LeaveMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
return void

LeaveParameterDeclaration() public method

public LeaveParameterDeclaration ( ParameterDeclaration node ) : void
node Boo.Lang.Compiler.Ast.ParameterDeclaration
return void

LeaveRaiseStatement() public method

public LeaveRaiseStatement ( Boo.Lang.Compiler.Ast.RaiseStatement node ) : void
node Boo.Lang.Compiler.Ast.RaiseStatement
return void

LeaveReturnStatement() public method

public LeaveReturnStatement ( Boo.Lang.Compiler.Ast.ReturnStatement node ) : void
node Boo.Lang.Compiler.Ast.ReturnStatement
return void

LeaveSlicingExpression() public method

public LeaveSlicingExpression ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
node Boo.Lang.Compiler.Ast.SlicingExpression
return void

LeaveTryCastExpression() public method

public LeaveTryCastExpression ( TryCastExpression node ) : void
node Boo.Lang.Compiler.Ast.TryCastExpression
return void

LeaveTypeofExpression() public method

public LeaveTypeofExpression ( Boo.Lang.Compiler.Ast.TypeofExpression node ) : void
node Boo.Lang.Compiler.Ast.TypeofExpression
return void

LeaveUnaryExpression() public method

public LeaveUnaryExpression ( UnaryExpression node ) : void
node Boo.Lang.Compiler.Ast.UnaryExpression
return void

LeaveYieldStatement() public method

public LeaveYieldStatement ( Boo.Lang.Compiler.Ast.YieldStatement node ) : void
node Boo.Lang.Compiler.Ast.YieldStatement
return void

LocalByName() protected method

protected LocalByName ( string name ) : Local
name string
return Local

LocalToReuseFor() protected method

protected LocalToReuseFor ( Boo.Lang.Compiler.Ast.Declaration d ) : Local
d Boo.Lang.Compiler.Ast.Declaration
return Local

MemberNotFound() protected method

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

MemberReferenceFromReference() protected method

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

NamedArgumentNotFound() protected method

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

OnAttribute() public method

public OnAttribute ( Attribute node ) : void
node Boo.Lang.Compiler.Ast.Attribute
return void

OnBlockExpression() public method

public OnBlockExpression ( BlockExpression node ) : void
node Boo.Lang.Compiler.Ast.BlockExpression
return void

OnBoolLiteralExpression() public method

public OnBoolLiteralExpression ( BoolLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.BoolLiteralExpression
return void

OnCharLiteralExpression() public method

public OnCharLiteralExpression ( CharLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.CharLiteralExpression
return void

OnClassDefinition() public method

public OnClassDefinition ( ClassDefinition node ) : void
node Boo.Lang.Compiler.Ast.ClassDefinition
return void

OnConstructor() public method

public OnConstructor ( Constructor node ) : void
node Boo.Lang.Compiler.Ast.Constructor
return void

OnDoubleLiteralExpression() public method

public OnDoubleLiteralExpression ( DoubleLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.DoubleLiteralExpression
return void

OnExceptionHandler() public method

public OnExceptionHandler ( Boo.Lang.Compiler.Ast.ExceptionHandler node ) : void
node Boo.Lang.Compiler.Ast.ExceptionHandler
return void

OnExtendedGeneratorExpression() public method

public OnExtendedGeneratorExpression ( Boo.Lang.Compiler.Ast.ExtendedGeneratorExpression node ) : void
node Boo.Lang.Compiler.Ast.ExtendedGeneratorExpression
return void

OnField() public method

public OnField ( Boo.Lang.Compiler.Ast.Field node ) : void
node Boo.Lang.Compiler.Ast.Field
return void

OnForStatement() public method

public OnForStatement ( Boo.Lang.Compiler.Ast.ForStatement node ) : void
node Boo.Lang.Compiler.Ast.ForStatement
return void

OnGeneratorExpression() public method

public OnGeneratorExpression ( Boo.Lang.Compiler.Ast.GeneratorExpression node ) : void
node Boo.Lang.Compiler.Ast.GeneratorExpression
return void

OnGotoStatement() public method

public OnGotoStatement ( Boo.Lang.Compiler.Ast.GotoStatement node ) : void
node Boo.Lang.Compiler.Ast.GotoStatement
return void

OnIntegerLiteralExpression() public method

public OnIntegerLiteralExpression ( IntegerLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.IntegerLiteralExpression
return void

OnInterfaceDefinition() public method

public OnInterfaceDefinition ( Boo.Lang.Compiler.Ast.InterfaceDefinition node ) : void
node Boo.Lang.Compiler.Ast.InterfaceDefinition
return void

OnMethod() public method

public OnMethod ( Method method ) : void
method Boo.Lang.Compiler.Ast.Method
return void

OnMethodInvocationExpression() public method

public OnMethodInvocationExpression ( MethodInvocationExpression node ) : void
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
return void

OnModule() public method

public OnModule ( Module module ) : void
module Boo.Lang.Compiler.Ast.Module
return void

OnNullLiteralExpression() public method

public OnNullLiteralExpression ( Boo.Lang.Compiler.Ast.NullLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.NullLiteralExpression
return void

OnProperty() public method

public OnProperty ( Property node ) : void
node Property
return void

OnRELiteralExpression() public method

public OnRELiteralExpression ( RELiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.RELiteralExpression
return void

OnReferenceExpression() public method

public OnReferenceExpression ( ReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.ReferenceExpression
return void

OnSelfLiteralExpression() public method

public OnSelfLiteralExpression ( Boo.Lang.Compiler.Ast.SelfLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.SelfLiteralExpression
return void

OnStatementTypeMember() public method

public OnStatementTypeMember ( Boo.Lang.Compiler.Ast.StatementTypeMember node ) : void
node Boo.Lang.Compiler.Ast.StatementTypeMember
return void

OnStringLiteralExpression() public method

public OnStringLiteralExpression ( Boo.Lang.Compiler.Ast.StringLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.StringLiteralExpression
return void

OnSuperLiteralExpression() public method

public OnSuperLiteralExpression ( Boo.Lang.Compiler.Ast.SuperLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.SuperLiteralExpression
return void

OnTimeSpanLiteralExpression() public method

public OnTimeSpanLiteralExpression ( TimeSpanLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.TimeSpanLiteralExpression
return void

OnUnpackStatement() public method

public OnUnpackStatement ( Boo.Lang.Compiler.Ast.UnpackStatement node ) : void
node Boo.Lang.Compiler.Ast.UnpackStatement
return void

ProcessAssignment() protected method

protected ProcessAssignment ( BinaryExpression node ) : void
node BinaryExpression
return void

ProcessAutoLocalDeclaration() protected method

protected ProcessAutoLocalDeclaration ( BinaryExpression node, ReferenceExpression reference ) : void
node BinaryExpression
reference ReferenceExpression
return void

ProcessBuiltinInvocation() protected method

protected ProcessBuiltinInvocation ( MethodInvocationExpression node, BuiltinFunction function ) : void
node MethodInvocationExpression
function BuiltinFunction
return void

ProcessDeclarationForIterator() protected method

protected ProcessDeclarationForIterator ( Declaration d, IType defaultDeclType ) : void
d Declaration
defaultDeclType IType
return void

ProcessDeclarationsForIterator() protected method

protected ProcessDeclarationsForIterator ( DeclarationCollection declarations, IType iteratorType ) : void
declarations DeclarationCollection
iteratorType IType
return void

ProcessInvocationOnUnknownCallableExpression() protected method

protected ProcessInvocationOnUnknownCallableExpression ( MethodInvocationExpression node ) : void
node MethodInvocationExpression
return void

ProcessIterator() protected method

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
return Expression

ProcessMemberReferenceExpression() protected method

protected ProcessMemberReferenceExpression ( MemberReferenceExpression node ) : void
node MemberReferenceExpression
return void

ProcessMethodInvocation() protected method

protected ProcessMethodInvocation ( MethodInvocationExpression node, IMethod method ) : void
node MethodInvocationExpression
method IMethod
return void

ProcessMethodInvocationWithInvalidParameters() protected method

protected ProcessMethodInvocationWithInvalidParameters ( MethodInvocationExpression node, IMethod targetMethod ) : bool
node MethodInvocationExpression
targetMethod IMethod
return bool

Reify() public method

public Reify ( TypeMember member ) : TypeMember
member TypeMember
return TypeMember

ResolveAmbiguousMethodInvocation() protected method

protected ResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entity ) : IEntity
node MethodInvocationExpression
entity IEntity
return IEntity

ResolveFieldPropertyEvent() protected method

protected ResolveFieldPropertyEvent ( IType type, string name ) : IEntity
type IType
name string
return IEntity

ResolveMethod() protected method

protected ResolveMethod ( IType type, string name ) : IMethod
type IType
name string
return IMethod

ResolveProperty() protected method

protected ResolveProperty ( IType type, string name ) : IProperty
type IType
name string
return IProperty

ResolveRuntimeOperator() protected method

protected ResolveRuntimeOperator ( BinaryExpression node, string operatorName, MethodInvocationExpression mie ) : bool
node BinaryExpression
operatorName string
mie MethodInvocationExpression
return bool

Run() public method

public Run ( ) : void
return void

ShouldRebindMember() protected method

protected ShouldRebindMember ( IEntity entity ) : bool
entity IEntity
return bool

TryToResolveAmbiguousAssignment() protected method

protected TryToResolveAmbiguousAssignment ( BinaryExpression node ) : void
node BinaryExpression
return void

ValidateAssignment() protected method

protected ValidateAssignment ( BinaryExpression node ) : bool
node BinaryExpression
return bool

VisitForStatementBlock() protected method

protected VisitForStatementBlock ( ForStatement node ) : void
node ForStatement
return void

VisitMemberPreservingContext() protected method

protected VisitMemberPreservingContext ( TypeMember node ) : void
node TypeMember
return void