C# 클래스 Boo.Lang.Compiler.Steps.ProcessMethodBodies

AST semantic evaluation.
상속: AbstractNamespaceSensitiveVisitorCompilerStep
파일 보기 프로젝트 열기: boo-lang/boo

Private Properties

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

공개 메소드들

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

보호된 메소드들

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

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

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

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

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

비공개 메소드들

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

메소드 상세

AddResolvedNamedArgumentToEval() 보호된 메소드

protected AddResolvedNamedArgumentToEval ( MethodInvocationExpression eval, Boo.Lang.Compiler.Ast.ExpressionPair pair, ReferenceExpression instance ) : void
eval Boo.Lang.Compiler.Ast.MethodInvocationExpression
pair Boo.Lang.Compiler.Ast.ExpressionPair
instance Boo.Lang.Compiler.Ast.ReferenceExpression
리턴 void

AssertDeclarationName() 보호된 메소드

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

AssertLValue() 보호된 메소드

protected AssertLValue ( Node node, IEntity entity ) : bool
node Node
entity IEntity
리턴 bool

AssertUniqueLocal() 보호된 메소드

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

BindBinaryExpression() 보호된 메소드

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

BindNonGenericTypeReferenceExpressionType() 보호된 메소드

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

BindTypeReferenceExpressionType() 보호된 메소드

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

CantResolveAmbiguousMethodInvocation() 보호된 메소드

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

CheckBuiltinUsage() 보호된 메소드

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

CheckExactArgsParameters() 보호된 메소드

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

CheckNameResolution() 보호된 메소드

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

CheckParameters() 보호된 메소드

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

CheckVarArgsParameters() 보호된 메소드

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

ClearResolutionCacheFor() 보호된 메소드

protected ClearResolutionCacheFor ( string name ) : void
name string
리턴 void

CreateDefaultLocalInitializer() 보호된 메소드

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

CreateEquals() 보호된 메소드

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

CreateMemberReferenceTarget() 보호된 메소드

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

DeclareLocal() 보호된 메소드

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

DeclareTempLocal() 보호된 메소드

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

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

EmitUnknownIdentifierError() 보호된 메소드

protected EmitUnknownIdentifierError ( Node node, string name ) : void
node Node
name string
리턴 void

EnsureInternalEventInvocation() 공개 메소드

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

EnsureRelatedNodeWasVisited() 보호된 메소드

protected EnsureRelatedNodeWasVisited ( Node sourceNode, IEntity entity ) : void
sourceNode Node
entity IEntity
리턴 void

EnterBinaryExpression() 공개 메소드

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

EnterMemberReferenceExpression() 공개 메소드

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

EnterUnaryExpression() 공개 메소드

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

ExpandInPlaceBinaryExpression() 보호된 메소드

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

GetConstructedType() 보호된 메소드

protected GetConstructedType ( IType genericType, IType argType ) : IType
genericType IType
argType IType
리턴 IType

GetCorrectIterator() 보호된 메소드

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

GetEnumeratorItemType() 보호된 메소드

protected GetEnumeratorItemType ( IType iteratorType ) : IType
iteratorType IType
리턴 IType

GetGeneratorReturnType() 보호된 메소드

Allows a different language to use custom rules for generator return types.
protected GetGeneratorReturnType ( Boo.Lang.Compiler.TypeSystem.InternalMethod generator ) : IType
generator Boo.Lang.Compiler.TypeSystem.InternalMethod
리턴 IType

HasNeitherReturnNorYield() 보호된 메소드

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

HasSideEffect() 보호된 메소드

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

Initialize() 공개 메소드

public Initialize ( CompilerContext context ) : void
context CompilerContext
리턴 void

IsArraySlicing() 공개 정적인 메소드

public static IsArraySlicing ( Node node ) : bool
node Node
리턴 bool

IsDuckTyped() 보호된 메소드

protected IsDuckTyped ( IMember entity ) : bool
entity IMember
리턴 bool

IsIndexedProperty() 보호된 메소드

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

IsValidIncrementDecrementOperand() 보호된 메소드

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

LeaveArrayLiteralExpression() 공개 메소드

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

LeaveBinaryExpression() 공개 메소드

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

LeaveCastExpression() 공개 메소드

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

LeaveConditionalExpression() 공개 메소드

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

LeaveDeclaration() 공개 메소드

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

LeaveDeclarationStatement() 공개 메소드

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

LeaveExplodeExpression() 보호된 메소드

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

LeaveExpressionInterpolationExpression() 공개 메소드

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

LeaveExpressionStatement() 공개 메소드

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

LeaveGenericReferenceExpression() 공개 메소드

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

LeaveHashLiteralExpression() 공개 메소드

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

LeaveListLiteralExpression() 공개 메소드

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

LeaveMemberReferenceExpression() 공개 메소드

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

LeaveParameterDeclaration() 공개 메소드

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

LeaveRaiseStatement() 공개 메소드

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

LeaveReturnStatement() 공개 메소드

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

LeaveSlicingExpression() 공개 메소드

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

LeaveTryCastExpression() 공개 메소드

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

LeaveTypeofExpression() 공개 메소드

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

LeaveUnaryExpression() 공개 메소드

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

LeaveYieldStatement() 공개 메소드

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

LocalByName() 보호된 메소드

protected LocalByName ( string name ) : Local
name string
리턴 Local

LocalToReuseFor() 보호된 메소드

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

MemberNotFound() 보호된 메소드

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

MemberReferenceFromReference() 보호된 메소드

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

NamedArgumentNotFound() 보호된 메소드

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

OnAttribute() 공개 메소드

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

OnBlockExpression() 공개 메소드

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

OnBoolLiteralExpression() 공개 메소드

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

OnCharLiteralExpression() 공개 메소드

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

OnClassDefinition() 공개 메소드

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

OnConstructor() 공개 메소드

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

OnDoubleLiteralExpression() 공개 메소드

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

OnExceptionHandler() 공개 메소드

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

OnExtendedGeneratorExpression() 공개 메소드

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

OnField() 공개 메소드

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

OnForStatement() 공개 메소드

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

OnGeneratorExpression() 공개 메소드

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

OnGotoStatement() 공개 메소드

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

OnIntegerLiteralExpression() 공개 메소드

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

OnInterfaceDefinition() 공개 메소드

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

OnMethod() 공개 메소드

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

OnMethodInvocationExpression() 공개 메소드

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

OnModule() 공개 메소드

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

OnNullLiteralExpression() 공개 메소드

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

OnProperty() 공개 메소드

public OnProperty ( Property node ) : void
node Property
리턴 void

OnRELiteralExpression() 공개 메소드

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

OnReferenceExpression() 공개 메소드

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

OnSelfLiteralExpression() 공개 메소드

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

OnStatementTypeMember() 공개 메소드

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

OnStringLiteralExpression() 공개 메소드

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

OnSuperLiteralExpression() 공개 메소드

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

OnTimeSpanLiteralExpression() 공개 메소드

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

OnUnpackStatement() 공개 메소드

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

ProcessAssignment() 보호된 메소드

protected ProcessAssignment ( BinaryExpression node ) : void
node BinaryExpression
리턴 void

ProcessAutoLocalDeclaration() 보호된 메소드

protected ProcessAutoLocalDeclaration ( BinaryExpression node, ReferenceExpression reference ) : void
node BinaryExpression
reference ReferenceExpression
리턴 void

ProcessBuiltinInvocation() 보호된 메소드

protected ProcessBuiltinInvocation ( MethodInvocationExpression node, BuiltinFunction function ) : void
node MethodInvocationExpression
function BuiltinFunction
리턴 void

ProcessDeclarationForIterator() 보호된 메소드

protected ProcessDeclarationForIterator ( Declaration d, IType defaultDeclType ) : void
d Declaration
defaultDeclType IType
리턴 void

ProcessDeclarationsForIterator() 보호된 메소드

protected ProcessDeclarationsForIterator ( DeclarationCollection declarations, IType iteratorType ) : void
declarations DeclarationCollection
iteratorType IType
리턴 void

ProcessInvocationOnUnknownCallableExpression() 보호된 메소드

protected ProcessInvocationOnUnknownCallableExpression ( MethodInvocationExpression node ) : void
node MethodInvocationExpression
리턴 void

ProcessIterator() 보호된 메소드

Process a iterator and its declarations and returns a new iterator expression if necessary.
protected ProcessIterator ( Expression iterator, DeclarationCollection declarations ) : Expression
iterator Expression
declarations DeclarationCollection
리턴 Expression

ProcessMemberReferenceExpression() 보호된 메소드

protected ProcessMemberReferenceExpression ( MemberReferenceExpression node ) : void
node MemberReferenceExpression
리턴 void

ProcessMethodInvocation() 보호된 메소드

protected ProcessMethodInvocation ( MethodInvocationExpression node, IMethod method ) : void
node MethodInvocationExpression
method IMethod
리턴 void

ProcessMethodInvocationWithInvalidParameters() 보호된 메소드

protected ProcessMethodInvocationWithInvalidParameters ( MethodInvocationExpression node, IMethod targetMethod ) : bool
node MethodInvocationExpression
targetMethod IMethod
리턴 bool

Reify() 공개 메소드

public Reify ( TypeMember member ) : TypeMember
member TypeMember
리턴 TypeMember

ResolveAmbiguousMethodInvocation() 보호된 메소드

protected ResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entity ) : IEntity
node MethodInvocationExpression
entity IEntity
리턴 IEntity

ResolveFieldPropertyEvent() 보호된 메소드

protected ResolveFieldPropertyEvent ( IType type, string name ) : IEntity
type IType
name string
리턴 IEntity

ResolveMethod() 보호된 메소드

protected ResolveMethod ( IType type, string name ) : IMethod
type IType
name string
리턴 IMethod

ResolveProperty() 보호된 메소드

protected ResolveProperty ( IType type, string name ) : IProperty
type IType
name string
리턴 IProperty

ResolveRuntimeOperator() 보호된 메소드

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

Run() 공개 메소드

public Run ( ) : void
리턴 void

ShouldRebindMember() 보호된 메소드

protected ShouldRebindMember ( IEntity entity ) : bool
entity IEntity
리턴 bool

TryToResolveAmbiguousAssignment() 보호된 메소드

protected TryToResolveAmbiguousAssignment ( BinaryExpression node ) : void
node BinaryExpression
리턴 void

ValidateAssignment() 보호된 메소드

protected ValidateAssignment ( BinaryExpression node ) : bool
node BinaryExpression
리턴 bool

VisitForStatementBlock() 보호된 메소드

protected VisitForStatementBlock ( ForStatement node ) : void
node ForStatement
리턴 void

VisitMemberPreservingContext() 보호된 메소드

protected VisitMemberPreservingContext ( TypeMember node ) : void
node TypeMember
리턴 void