private void CheckUndefinedMethodCall(BoundRoutineCall x, TypeSymbol type, BoundRoutineName name) { if (name.IsDirect && x.TargetMethod.IsErrorMethod() && type != null && !type.IsErrorType()) { _diagnostics.Add(_routine, ((FunctionCall)x.PhpSyntax).NameSpan.ToTextSpan(), ErrorCode.WRN_UndefinedMethodCall, name.NameValue.ToString(), type.Name); } }
private void CheckUndefinedMethodCall(BoundRoutineCall x, TypeSymbol type, BoundRoutineName name) { if (x.TargetMethod is MissingMethodSymbol) { var span = x.PhpSyntax is FunctionCall fnc ? fnc.NameSpan : x.PhpSyntax.Span; _diagnostics.Add(_routine, span.ToTextSpan(), ErrorCode.WRN_UndefinedMethodCall, type.Name, name.NameValue.ToString()); } }
public override object VisitRoutineName(BoundRoutineName x) { return(x.Update( x.NameValue, (BoundExpression)Accept(x.NameExpression))); }
private void CheckUndefinedMethodCall(BoundRoutineCall call, TypeSymbol type, BoundRoutineName name) { if (name.IsDirect && call.TargetMethod.IsErrorMethod() && type != null && !type.IsErrorType()) { _diagnostics.Add(_routine, call.PhpSyntax, ErrorCode.WRN_UndefinedMethodCall, name.NameValue.ToString(), type.Name); } }