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(); } }
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)); }
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;
public abstract IExpression Transform(IPropertyReferenceExpression expression);
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)); }
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 }
public TestLinkerResult Visit <TProperty, TPropertyParent>(IPropertyReferenceExpression <TProperty, TPropertyParent> expression, ICompilationContext context) where TProperty : IPropertyMember <TProperty, TPropertyParent> where TPropertyParent : IPropertyParent <TProperty, TPropertyParent> { throw new NotImplementedException(); }
public abstract void TranslateExpression(IPropertyReferenceExpression propRefExpression);
TransformationImpact IExpressionVisitor <TransformationImpact> .Visit <TProperty, TPropertyParent>(IPropertyReferenceExpression <TProperty, TPropertyParent> expression) { return(CalculateRefactorImpact(expression)); }
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)); }
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)); }
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)); }
public override void VisitPropertyReferenceExpression(IPropertyReferenceExpression operation) { Visit(operation.Instance); }
public virtual void VisitPropertyReferenceExpression(IPropertyReferenceExpression value) { this.VisitPropertyReference(value.Property); this.VisitExpression(value.Target); }
/// <inheritdoc /> public override IOperation VisitPropertyReferenceExpression(IPropertyReferenceExpression operation, object argument) { return(base.VisitPropertyReferenceExpression(operation, argument)); }
public IndexerExpression(IPropertyReferenceExpression property) { Property = property; }
public abstract TransformationImpact CalculateRefactorImpact <TProperty, TPropertyParent>(IPropertyReferenceExpression <TProperty, TPropertyParent> expression) where TProperty : IPropertyMember <TProperty, TPropertyParent> where TPropertyParent : IPropertyParent <TProperty, TPropertyParent>;
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; }