My question is why do these articles and conversations always discuss pass-by-value, pass-by-reference, etc. solely in the context of parameter passing and function calls and not in the context of assignments?
E.g. assuming the following:
A a1 = new A(); A a2 = a1;
... why is it taken for granted that the assigned object is not copied by value?
I am not asking why it would be a questionable language design decision to make the semantics of the assignment copy the object "by value" - I am asking whether and under what terminology language specifications explicitly spell this out or under what heading language design theory treats such decisions.