public static ReportTypeArgsNotAllowedError ( |
||
symbolLoader | ||
arity | int | |
argName | Microsoft.CSharp.RuntimeBinder.Errors.ErrArgRef | |
argKind | Microsoft.CSharp.RuntimeBinder.Errors.ErrArgRef | |
return | void |
/****************************************************************************** * Reports errors. Only call this if FError() is true. ******************************************************************************/ public void ReportErrors() { Debug.Assert(FError()); // Report error. // NOTE: If the definition of FError changes, this code will need to change. Debug.Assert(!_swtFirst || _swtAmbig); if (_swtFirst) { // Ambiguous lookup. GetErrorContext().ErrorRef(ErrorCode.ERR_AmbigMember, _swtFirst, _swtAmbig); } else if (_swtInaccess) { if (!_swtInaccess.Sym.isUserCallable() && ((_flags & MemLookFlags.UserCallable) != 0)) { GetErrorContext().Error(ErrorCode.ERR_CantCallSpecialMethod, _swtInaccess); } else { GetSemanticChecker().ReportAccessError(_swtInaccess, _symWhere, _typeQual); } } else if ((_flags & MemLookFlags.Ctor) != 0) { if (_arity > 0) { GetErrorContext().Error(ErrorCode.ERR_BadCtorArgCount, _typeSrc.getAggregate(), _arity); } else { GetErrorContext().Error(ErrorCode.ERR_NoConstructors, _typeSrc.getAggregate()); } } else if ((_flags & MemLookFlags.Operator) != 0) { GetErrorContext().Error(ErrorCode.ERR_NoSuchMember, _typeSrc, _name); } else if ((_flags & MemLookFlags.Indexer) != 0) { GetErrorContext().Error(ErrorCode.ERR_BadIndexLHS, _typeSrc); } else if (_swtBad) { GetErrorContext().Error((_flags & MemLookFlags.MustBeInvocable) != 0 ? ErrorCode.ERR_NonInvocableMemberCalled : ErrorCode.ERR_CantCallSpecialMethod, _swtBad); } else if (_swtBogus) { ReportBogus(_swtBogus); } else if (_swtBadArity) { int cvar; switch (_swtBadArity.Sym.getKind()) { case SYMKIND.SK_MethodSymbol: Debug.Assert(_arity != 0); cvar = _swtBadArity.Sym.AsMethodSymbol().typeVars.size; GetErrorContext().ErrorRef(cvar > 0 ? ErrorCode.ERR_BadArity : ErrorCode.ERR_HasNoTypeVars, _swtBadArity, new ErrArgSymKind(_swtBadArity.Sym), cvar); break; case SYMKIND.SK_AggregateSymbol: cvar = _swtBadArity.Sym.AsAggregateSymbol().GetTypeVars().size; GetErrorContext().ErrorRef(cvar > 0 ? ErrorCode.ERR_BadArity : ErrorCode.ERR_HasNoTypeVars, _swtBadArity, new ErrArgSymKind(_swtBadArity.Sym), cvar); break; default: Debug.Assert(_arity != 0); ExpressionBinder.ReportTypeArgsNotAllowedError(GetSymbolLoader(), _arity, _swtBadArity, new ErrArgSymKind(_swtBadArity.Sym)); break; } } else { if ((_flags & MemLookFlags.ExtensionCall) != 0) { GetErrorContext().Error(ErrorCode.ERR_NoSuchMemberOrExtension, _typeSrc, _name); } else { GetErrorContext().Error(ErrorCode.ERR_NoSuchMember, _typeSrc, _name); } } }