public override void VisitPropertyReferenceExpression(IPropertyReferenceExpression operation)
        {
            var member   = operation.Member;
            var property = operation.Property;

            base.VisitPropertyReferenceExpression(operation);
        }
        public override void VisitPropertyReferenceExpression(IPropertyReferenceExpression operation)
        {
            LogString(nameof(IPropertyReferenceExpression));
            LogString($": {operation.Property.ToTestDisplayString()}");

            VisitMemberReferenceExpressionCommon(operation);
        }
 protected override IExpression ConvertPropertyRefExpr(IPropertyReferenceExpression ipre)
 {
     if (ipre.Target is IThisReferenceExpression)
     {
         return(ConvertExternalVariableExpr(ipre.Property.Resolve(), ipre.Property.Name, ipre.Property.PropertyType));
     }
     return(base.ConvertPropertyRefExpr(ipre));
 }
 public override bool Visit <TProperty, TPropertyParent>(IPropertyReferenceExpression <TProperty, TPropertyParent> expression, object context)
 {
     _stack.Push(expression);
     try
     {
         return(base.Visit(expression, context));
     }
     finally
     {
         _stack.Pop();
     }
 }
Exemple #5
0
 protected override IExpression ConvertPropertyRefExpr(IPropertyReferenceExpression ipre)
 {
     if (ipre.Target is IThisReferenceExpression)
     {
         bool isPartOfLhs = Recognizer.IsBeingMutated(context, ipre);
         AddUsage(ipre, isPartOfLhs);
         return(ipre);
     }
     else
     {
         return(base.ConvertPropertyRefExpr(ipre));
     }
 }
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }

            IPropertyReferenceExpression expression = obj as IPropertyReferenceExpression;

            if (expression == null)
            {
                return(false);
            }

            return
                (this.Target.Equals(expression.Target) &&
                 this.Property.Equals(expression.Property));
        }
Exemple #7
0
 public TestLinkerResult Visit(IPropertyReferenceExpression expression, ICompilationContext context)
 {
     throw new NotImplementedException();
 }
 public virtual void VisitPropertyReferenceExpression(IPropertyReferenceExpression operation)
 {
     DefaultVisit(operation);
 }
 private void WritePropertyReferenceExpression(IPropertyReferenceExpression expression, IFormatter formatter)
 {
     // TODO bool escape = true;
     if (expression.Target != null)
     { // TODO escape = false;
         this.WriteTargetExpression(expression.Target, formatter);
         formatter.Write(".");
     }
     var g = expression.Property.Resolve().GetMethod;
     WriteMethodReference(g, formatter);
     formatter.Write("()");
 }
 public static IPropertyReferenceExpression Update(this IPropertyReferenceExpression self, IOperation @receiverOpt, IPropertySymbol @propertySymbol, Enum @resultKind, ITypeSymbol @type) => self;
Exemple #11
0
 public abstract IExpression Transform(IPropertyReferenceExpression expression);
Exemple #12
0
 void IExpressionVisitor.Visit <TProperty, TPropertyParent>(IPropertyReferenceExpression <TProperty, TPropertyParent> expression)
 {
     this.Translate(expression);
 }
 public static IYieldReturnStatement YieldReturn(this IBlockStatementParent blockParent, IPropertyReferenceExpression returnValue)
 {
     return(blockParent.YieldReturn((IExpression)returnValue));
 }
 public static IReturnStatement Return(this IBlockStatementParent blockParent, IPropertyReferenceExpression returnValue)
 {
     return(blockParent.Return(returnValue));
 }
Exemple #15
0
 public override void TranslateExpression(IPropertyReferenceExpression propRefExpression)
 {
     this.Provider.GenerateCodeFromExpression(propRefExpression.GenerateCodeDom(this.Options), base.Target, this.Options.Options);
 }
            //===========================================================
            //		Expression 分岐
            //===========================================================
            public virtual void WriteExpression(IExpression expression)
            {
                if (expression == null)
                {
                    return;
                }

                mwg.Reflector.CppCli.ExpressionWriter.WriteExpression(this, expression, false);

#if FALSE
#pragma warning disable 612

                IMemberInitializerExpression expression3 = expression as IMemberInitializerExpression;
                if (expression3 != null)
                {
                    this.WriteMemberInitializerExpression(expression3);
                    return;
                }

                IAddressOutExpression expression27 = expression as IAddressOutExpression;
                if (expression27 != null)
                {
                    this.WriteAddressOutExpression(expression27);
                    return;
                }

                IAddressReferenceExpression expression26 = expression as IAddressReferenceExpression;
                if (expression26 != null)
                {
                    this.WriteAddressReferenceExpression(expression26);
                    return;
                }

                IDelegateCreateExpression iDelegateCreateExpression = expression as IDelegateCreateExpression;
                if (iDelegateCreateExpression != null)
                {
                    this.WriteDelegateCreateExpression(iDelegateCreateExpression);
                    return;
                }

                IMethodInvokeExpression iMethodInvokeExpression = expression as IMethodInvokeExpression;
                if (iMethodInvokeExpression != null)
                {
                    this.WriteMethodInvokeExpression(iMethodInvokeExpression);
                    return;
                }

                IVariableDeclarationExpression expression15 = expression as IVariableDeclarationExpression;
                if (expression15 != null)
                {
                    this.WriteVariableDeclaration(expression15.Variable);
                    return;
                }

                ITypeOfExpression iTypeOfExpression = expression as ITypeOfExpression;
                if (iTypeOfExpression != null)
                {
                    this.WriteTypeOfExpression(iTypeOfExpression);
                    return;
                }

                ISnippetExpression iSnippetExpression = expression as ISnippetExpression;
                if (iSnippetExpression != null)
                {
                    this.WriteSnippetExpression(iSnippetExpression);
                    return;
                }

                IUnaryExpression iUnaryExpression = expression as IUnaryExpression;
                if (iUnaryExpression != null)
                {
                    this.WriteUnaryExpression(iUnaryExpression);
                    return;
                }

                IObjectCreateExpression iObjectCreateExpression = expression as IObjectCreateExpression;
                if (iObjectCreateExpression != null)
                {
                    this.WriteObjectCreateExpression(iObjectCreateExpression);
                    return;
                }

                IVariableReferenceExpression iVariableReferenceExpression = expression as IVariableReferenceExpression;
                if (iVariableReferenceExpression != null)
                {
                    this.WriteVariableReferenceExpression(iVariableReferenceExpression);
                    return;
                }

                IThisReferenceExpression expression12 = expression as IThisReferenceExpression;
                if (expression12 != null)
                {
                    this.WriteThisReferenceExpression(expression12);
                    return;
                }

                ITryCastExpression iTryCastExpression = expression as ITryCastExpression;
                if (iTryCastExpression != null)
                {
                    this.WriteTryCastExpression(iTryCastExpression);
                    return;
                }

                IConditionExpression expression9 = expression as IConditionExpression;
                if (expression9 != null)
                {
                    this.WriteConditionExpression(expression9);
                    return;
                }

                IFieldReferenceExpression iFieldReferenceExpression = expression as IFieldReferenceExpression;
                if (iFieldReferenceExpression != null)
                {
                    this.WriteFieldReferenceExpression(iFieldReferenceExpression);
                    return;
                }

                IPropertyIndexerExpression iPropertyIndexerExpression = expression as IPropertyIndexerExpression;
                if (iPropertyIndexerExpression != null)
                {
                    this.WritePropertyIndexerExpression(iPropertyIndexerExpression);
                    return;
                }

                ITypeReferenceExpression iTypeReferenceExpression = expression as ITypeReferenceExpression;
                if (iTypeReferenceExpression != null)
                {
                    this.WriteTypeReferenceExpression(iTypeReferenceExpression);
                    return;
                }

                IMethodReferenceExpression iMethodReferenceExpression = expression as IMethodReferenceExpression;
                if (iMethodReferenceExpression != null)
                {
                    this.WriteMethodReferenceExpression(iMethodReferenceExpression);
                    return;
                }

                IPropertyReferenceExpression iPropertyReferenceExpression = expression as IPropertyReferenceExpression;
                if (iPropertyReferenceExpression != null)
                {
                    this.WritePropertyReferenceExpression(iPropertyReferenceExpression);
                    return;
                }

                ICastExpression expression5 = expression as ICastExpression;
                if (expression5 != null)
                {
                    this.WriteCastExpression(expression5);
                    return;
                }

                ICanCastExpression iCanCastExpression = expression as ICanCastExpression;
                if (iCanCastExpression != null)
                {
                    this.WriteCanCastExpression(iCanCastExpression);
                    return;
                }

                ICastExpression iCastExpression = expression as ICastExpression;
                if (iCastExpression != null)
                {
                    this.WriteCastExpression(iCastExpression);
                    return;
                }

                ILiteralExpression literalExpression = expression as ILiteralExpression;
                if (literalExpression != null)
                {
                    this.WriteLiteralExpression(literalExpression);
                    return;
                }

                IBinaryExpression iBinaryExpression = expression as IBinaryExpression;
                if (iBinaryExpression != null)
                {
                    mwg.Reflector.CppCli.ExpressionWriter.WriteExpression(this, expression, true);
                    //this.WriteBinaryExpression(iBinaryExpression);
                    return;
                }

                IArrayIndexerExpression expression30 = expression as IArrayIndexerExpression;
                if (expression30 != null)
                {
                    this.WriteArrayIndexerExpression(expression30);
                    return;
                }

                IAddressDereferenceExpression expression29 = expression as IAddressDereferenceExpression;
                if (expression29 != null)
                {
                    this.WriteAddressDereferenceExpression(expression29);
                    return;
                }

                IAddressOfExpression expression28 = expression as IAddressOfExpression;
                if (expression28 != null)
                {
                    this.WriteAddressOfExpression(expression28);
                    return;
                }

                IArgumentListExpression expression25 = expression as IArgumentListExpression;
                if (expression25 != null)
                {
                    this.WriteArgumentListExpression(expression25);
                    return;
                }

                IBaseReferenceExpression iBaseReferenceExpression = expression as IBaseReferenceExpression;
                if (iBaseReferenceExpression != null)
                {
                    this.WriteBaseReferenceExpression(iBaseReferenceExpression);
                    return;
                }

                IArgumentReferenceExpression expression13 = expression as IArgumentReferenceExpression;
                if (expression13 != null)
                {
                    this.WriteArgumentReferenceExpression(expression13);
                    return;
                }

                IArrayCreateExpression expression10 = expression as IArrayCreateExpression;
                if (expression10 != null)
                {
                    this.WriteArrayCreateExpression(expression10);
                    return;
                }

                IAssignExpression iAssignExpression = expression as IAssignExpression;
                if (iAssignExpression != null)
                {
                    this.WriteAssignExpression(iAssignExpression);
                    return;
                }

                IBlockExpression expression2 = expression as IBlockExpression;
                if (expression2 != null)
                {
                    this.WriteBlockExpression(expression2);
                    return;
                }
#pragma warning restore 612

                this.Write(expression.ToString());
#endif
            }
Exemple #17
0
        public override void VisitPropertyReferenceExpression(IPropertyReferenceExpression operation)
        {
            var member = operation.Member;
            var property = operation.Property;

            base.VisitPropertyReferenceExpression(operation);
        }
Exemple #18
0
 public TestLinkerResult Visit <TProperty, TPropertyParent>(IPropertyReferenceExpression <TProperty, TPropertyParent> expression, ICompilationContext context)
     where TProperty : IPropertyMember <TProperty, TPropertyParent>
     where TPropertyParent : IPropertyParent <TProperty, TPropertyParent>
 {
     throw new NotImplementedException();
 }
Exemple #19
0
 public abstract void TranslateExpression(IPropertyReferenceExpression propRefExpression);
Exemple #20
0
 TransformationImpact IExpressionVisitor <TransformationImpact> .Visit <TProperty, TPropertyParent>(IPropertyReferenceExpression <TProperty, TPropertyParent> expression)
 {
     return(CalculateRefactorImpact(expression));
 }
Exemple #21
0
 public override IOperation VisitPropertyReferenceExpression(IPropertyReferenceExpression operation, object argument)
 {
     return(new PropertyReferenceExpression(operation.Property, Visit(operation.Instance), operation.Member, VisitArray(operation.ArgumentsInEvaluationOrder), ((Operation)operation).SemanticModel, operation.Syntax, operation.Type, operation.ConstantValue, operation.IsImplicit));
 }
Exemple #22
0
 void IExpressionVisitor.Visit(IPropertyReferenceExpression expression)
 {
     this.Translate(expression);
 }
 public virtual void VisitPropertyReferenceExpression(IPropertyReferenceExpression value)
 {
     VisitPropertyReference(value.Property);
     VisitExpression(value.Target);
 }
 private static void WritePropertyReference(LanguageWriter w, IPropertyReferenceExpression exp)
 {
     WriteMemberAccess(w, exp.Target);
     w.WritePropertyReference(exp.Property);
 }
 /// <inheritdoc />
 public override Expression VisitPropertyReferenceExpression(IPropertyReferenceExpression operation, LocalBinder argument)
 {
     return(base.VisitPropertyReferenceExpression(operation, argument));
 }
Exemple #26
0
 public abstract IExpression Transform <TProperty, TPropertyParent>(IPropertyReferenceExpression <TProperty, TPropertyParent> expression)
     where TProperty : IPropertyMember <TProperty, TPropertyParent>
     where TPropertyParent : IPropertyParent <TProperty, TPropertyParent>;
 public override IdentifierInfo VisitPropertyReferenceExpression([NotNull] IPropertyReferenceExpression operation,
                                                                 [CanBeNull] object argument)
 {
     return(CreateForMemberReferenceExpression(operation, operation.Property.Type));
 }
Exemple #28
0
 public override void VisitPropertyReferenceExpression(IPropertyReferenceExpression operation)
 {
     Visit(operation.Instance);
 }
 public virtual void VisitPropertyReferenceExpression(IPropertyReferenceExpression value)
 {
     this.VisitPropertyReference(value.Property);
     this.VisitExpression(value.Target);
 }
Exemple #30
0
 public virtual void VisitPropertyReferenceExpression(IPropertyReferenceExpression operation)
 {
     DefaultVisit(operation);
 }
 /// <inheritdoc />
 public override IOperation VisitPropertyReferenceExpression(IPropertyReferenceExpression operation, object argument)
 {
     return(base.VisitPropertyReferenceExpression(operation, argument));
 }
Exemple #32
0
 public IndexerExpression(IPropertyReferenceExpression property)
 {
     Property = property;
 }
Exemple #33
0
 public abstract TransformationImpact CalculateRefactorImpact <TProperty, TPropertyParent>(IPropertyReferenceExpression <TProperty, TPropertyParent> expression)
     where TProperty : IPropertyMember <TProperty, TPropertyParent>
     where TPropertyParent : IPropertyParent <TProperty, TPropertyParent>;
Exemple #34
0
 public IndexerExpression(IPropertyReferenceExpression property, IExpression index)
 {
     Property = property;
     _index.Add(index);
 }
 public virtual IExpression TransformPropertyReferenceExpression(IPropertyReferenceExpression value)
 {
     value.Target = this.TransformExpression(value.Target);
     return value;
 }