Boo.Lang.Compiler.Steps.ProcessMethodBodies.CreateMemberReferenceTarget C# (CSharp) Метод

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

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

            if (member.IsStatic)
            {
                target = CodeBuilder.CreateReference(sourceNode.LexicalInfo, member.DeclaringType);
            }
            else
            {
                //check if found entity can't possibly be a member of self:
                if (member.DeclaringType != CurrentType
                    && !(CurrentType.IsSubclassOf(member.DeclaringType)))
                {
                    Error(CompilerErrorFactory.InstanceRequired(sourceNode, member));
                }
                target = new SelfLiteralExpression(sourceNode.LexicalInfo);
            }
            BindExpressionType(target, member.DeclaringType);
            return target;
        }
ProcessMethodBodies