protected bool CheckParentConflictName (ToplevelBlock block, string name, Location l) { LocalInfo vi = GetLocalInfo (name); if (vi != null) { block.Report.SymbolRelatedToPreviousError (vi.Location, name); if (Explicit == vi.Block.Explicit) { Error_AlreadyDeclared (l, name, null); } else { Error_AlreadyDeclared (l, name, this is ToplevelBlock ? "parent or current" : "parent"); } return false; } if (block != null) { var tblock = block.CheckParameterNameConflict (name); if (tblock != null) { if (block == tblock && block is Linq.QueryBlock) Error_AlreadyDeclared (loc, name); else Error_AlreadyDeclared (loc, name, "parent or current"); return false; } } return true; }