Create a new scope if one or more given attributes are different from the sc's. If the returned scope != sc, the caller should pop the scope after it used.
A hook point to supply scope for members. addMember, setScope, importAll, semantic, semantic2 and semantic3 will use this.