Fixes IncrClosureInference.changeFunctionalInterfaceParam test. Temporary rules built as macro applications weren't computing hash due to origin!=null condition. Also macro inputs weren't processed. Stable hash for TypeVarSubstitution is defined because it's used in macro args. In general, any classes used as constraint/predicate/macro args must adhere to stable hashCode() contract: hash should change if there're important changes that may influence typechecking result. Otherwise there may be unnecessary incremental recomputations. Relevant for MPSCR-62 |
||
|---|---|---|
| .. | ||
| jetbrains.mps.lang.coderules | ||
| jetbrains.mps.lang.controlflow | ||
| jetbrains.mps.lang.smodel.types/generator/template | ||
| jetbrains.mps.lang.typechecking | ||
| jetbrains.mps.logic | ||
| jetbrains.mps.typechecking.annotation | ||
| jetbrains.mps.typechecking.testlang | ||
| jetbrains.mps.typechecking.testlangCycle1/generator/templates | ||
| jetbrains.mps.typechecking.testlangCycle2/generator/templates | ||