public static Expression Create(ExpressionNodeInfo info, MemberBindingExpressionSyntax node) { var expr = Create(info, FindConditionalQualifier(node), node.Name); expr.MakeConditional(); return(expr); }
private Doc PrintMemberBindingExpressionSyntax( MemberBindingExpressionSyntax node) { return(Concat( this.PrintSyntaxToken(node.OperatorToken), this.Print(node.Name) )); }
public override void VisitMemberBindingExpression(MemberBindingExpressionSyntax memberBinding) { CancellationToken.ThrowIfCancellationRequested(); SymbolInfo symbolInfo = _semanticModel.GetSymbolInfo(memberBinding, CancellationToken); CheckNonTypeSymbol(symbolInfo, memberBinding); base.VisitMemberBindingExpression(memberBinding); }
private static ExpressionSyntax ReplaceInvocation(InvocationExpressionSyntax invocation) { var newExpression = invocation.Expression switch { MemberAccessExpressionSyntax memberAccess => (ExpressionSyntax)MemberAccessExpression(SyntaxKind.SimpleMemberAccessExpression, memberAccess.Expression, IdentifierName("ToList")), MemberBindingExpressionSyntax _ => MemberBindingExpression(IdentifierName("ToList")), _ => throw new NotSupportedException($"Can't handle {invocation.Expression.GetType()}"), }; return(InvocationExpression(newExpression)); }
public override void VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { if (!PreVisit(node)) { return; } node.Name?.Accept(this); base.VisitMemberBindingExpression(node); PostVisit(node); }
public override LuaSyntaxNode VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { ISymbol symbol = semanticModel_.GetSymbolInfo(node).Symbol; if (node.Name.Identifier.ValueText == "Invoke") { if (symbol.ContainingType.IsDelegateType()) { return(conditionalTemps_.Peek()); } } var nameExpression = (LuaExpressionSyntax)node.Name.Accept(this); return(new LuaMemberAccessExpressionSyntax(conditionalTemps_.Peek(), nameExpression, symbol.Kind == SymbolKind.Method)); }
public override void VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { var symInfo = m_Model.GetSymbolInfo(node.Name); var sym = symInfo.Symbol; var msym = sym as IMethodSymbol; if (null != msym) { string manglingName = NameMangling(msym); if (sym.IsStatic) { CodeBuilder.AppendFormat(".{0}", manglingName); } else { CodeBuilder.AppendFormat(":{0}", manglingName); } } else { CodeBuilder.AppendFormat("{0}{1}", node.OperatorToken.Text, node.Name.Identifier.Text); } }
private ImmutableArray <ISymbol> GetSymbolsOffOfContainer() { // Ensure that we have the correct token in A.B| case var node = _context.TargetToken.GetRequiredParent(); return(node switch { MemberAccessExpressionSyntax { RawKind : (int)SyntaxKind.SimpleMemberAccessExpression } memberAccess => GetSymbolsOffOfExpression(memberAccess.Expression), MemberAccessExpressionSyntax { RawKind : (int)SyntaxKind.PointerMemberAccessExpression } memberAccess => GetSymbolsOffOfDereferencedExpression(memberAccess.Expression), // This code should be executing only if the cursor is between two dots in a dotdot token. RangeExpressionSyntax rangeExpression => GetSymbolsOffOfExpression(rangeExpression.LeftOperand), QualifiedNameSyntax qualifiedName => GetSymbolsOffOfName(qualifiedName.Left), AliasQualifiedNameSyntax aliasName => GetSymbolsOffOffAlias(aliasName.Alias), MemberBindingExpressionSyntax _ => GetSymbolsOffOfConditionalReceiver(node.GetParentConditionalAccessExpression() !.Expression), _ => ImmutableArray <ISymbol> .Empty, });
public override SyntaxList <StatementSyntax> VisitWithBlock(VBSyntax.WithBlockSyntax node) { var name = SyntaxFactory.ParseName(node.WithStatement.Expression.ToString()); var statements = new List <StatementSyntax>(); foreach (var stmVB in node.Statements) { var stmCS = stmVB.Accept(this); foreach (ExpressionStatementSyntax item in stmCS) { InvocationExpressionSyntax ioc = (InvocationExpressionSyntax)item.Expression; MemberBindingExpressionSyntax mb = (MemberBindingExpressionSyntax)ioc.Expression; var mas = SyntaxFactory.MemberAccessExpression(SyntaxKind.SimpleMemberAccessExpression, name, mb.Name); var r = SyntaxFactory.InvocationExpression(mas, ioc.ArgumentList); statements.Add(SyntaxFactory.ExpressionStatement(r)); } } return(SyntaxFactory.List <StatementSyntax>(statements)); }
public override Evaluation VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { node.Name?.Accept <Evaluation>(this); return(base.VisitMemberBindingExpression(node)); }
private Location GetLocation(ConditionalAccessExpressionSyntax conditionalAccessExpression, MemberBindingExpressionSyntax firstMemberBindingExpression) { var sourceSpanEnd = firstMemberBindingExpression.GetLocation().SourceSpan.End; var sourceSpanStart = conditionalAccessExpression.GetLocation().SourceSpan.Start; var location = Location.Create(conditionalAccessExpression.SyntaxTree, TextSpan.FromBounds(sourceSpanStart, sourceSpanEnd)); return(location); }
public override void VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { throw new NotImplementedException(); }
public override Ust VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { var result = ConvertId(node.Name.Identifier); return(result); }
private string GetDiagnosedUsage(ConditionalAccessExpressionSyntax conditionalAccess, MemberBindingExpressionSyntax firstMemberBinding) => $"{conditionalAccess.Expression}{conditionalAccess.OperatorToken}{firstMemberBinding.OperatorToken}{firstMemberBinding.Name}";
public MemberBindingExpressionTranslation(MemberBindingExpressionSyntax syntax, SyntaxTranslation parent) : base(syntax, parent) { Name = syntax.Name.Get<SimpleNameTranslation>(this); }
/// <summary> /// /// </summary> /// <param name="node"></param> public override sealed void VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { this.OnNodeVisited(node, this.type.IsInstanceOfType(node)); base.VisitMemberBindingExpression(node); }
public TameMemberBindingExpressionSyntax(MemberBindingExpressionSyntax node) { Node = node; AddChildren(); }
// // Summary: // Called when the visitor visits a MemberBindingExpressionSyntax node. public virtual void VisitMemberBindingExpression(MemberBindingExpressionSyntax node);
public override void VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { base.VisitMemberBindingExpression(node); }
public override SyntaxNode VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { node = (MemberBindingExpressionSyntax)base.VisitMemberBindingExpression(node); Classes.Add(node); return(node); }
public override void VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { node.Name?.Accept(this); base.VisitMemberBindingExpression(node); }
public MemberBindingExpressionTranslation(MemberBindingExpressionSyntax syntax, SyntaxTranslation parent) : base(syntax, parent) { Name = syntax.Name.Get <SimpleNameTranslation>(this); }
public static Doc Print(MemberBindingExpressionSyntax node) { return(Doc.Concat(Token.Print(node.OperatorToken), Node.Print(node.Name))); }
public static void Write(this MemberBindingExpressionSyntax syntax, IIndentedTextWriterWrapper textWriter, IContext context) { textWriter.Write("."); syntax.Name.Write(textWriter, context); }
/// <summary> /// /// </summary> /// <param name="node"></param> public override sealed void VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { this.OnNodeVisited(node); if (!this.traverseRootOnly) base.VisitMemberBindingExpression(node); }
internal static string GetName(this MemberBindingExpressionSyntax value) => value?.Name.GetName();
public override void VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { this.VisitExpression(node); }
public override Expr VisitMemberBindingExpression(MemberBindingExpressionSyntax node) { return(base.VisitMemberBindingExpression(node)); }
public MemberBindingStatementInterpreter(StatementInterpreterHandler statementInterpreterHandler, MemberBindingExpressionSyntax memberBindingExpression) { this.statementInterpreterHandler = statementInterpreterHandler; this.memberBindingExpression = memberBindingExpression; }