/// <summary> /// If the expression calls an operator, add an expr_call() /// to show the target of the call. Also note the dynamic method /// name if available. /// </summary> /// <param name="cx">Context</param> /// <param name="node">The expression.</param> public void OperatorCall(TextWriter trapFile, ExpressionSyntax node) { var @operator = cx.GetSymbolInfo(node); if (@operator.Symbol is IMethodSymbol method) { var callType = GetCallType(cx, node); if (callType == CallType.Dynamic) { UserOperator.OperatorSymbol(method.Name, out var operatorName); trapFile.dynamic_member_name(this, operatorName); return; } trapFile.expr_call(this, Method.Create(cx, method)); } }
/// <summary> /// If the expression calls an operator, add an expr_call() /// to show the target of the call. Also note the dynamic method /// name if available. /// </summary> /// <param name="cx">Context</param> /// <param name="node">The expression.</param> public void OperatorCall(ExpressionSyntax node) { var @operator = cx.GetSymbolInfo(node); if (@operator.Symbol is IMethodSymbol method) { var callType = GetCallType(cx, node); if (callType == CallType.Dynamic) { UserOperator.OperatorSymbol(method.Name, out string operatorName); cx.Emit(Tuples.dynamic_member_name(this, operatorName)); return; } cx.Emit(Tuples.expr_call(this, Method.Create(cx, method))); } }