Whether or not replacement should be documented, and how, is a matter of difference of opinion among language designers. In C++, the designer of the parent class decides whether or not replacement may occur, and documents it there.
In Object Pascal the parent class designer has no say, but the child class designer my explicitly indicate that they are doing replacment.
In Smalltalk, no documentation is found in the code at all, replacement just happens whenever the designer of the child class uses the same name as a method found in the parent class.