Optimize external overridability conditions
- Skip ones that can lead only to success after first success - And vice versa
This commit is contained in:
+2
@@ -64,4 +64,6 @@ class BuiltinOverridabilityCondition : ExternalOverridabilityCondition {
|
||||
// incompatible override
|
||||
return Result.INCOMPATIBLE
|
||||
}
|
||||
|
||||
override fun getContract() = ExternalOverridabilityCondition.Contract.CONFLICTS_ONLY
|
||||
}
|
||||
|
||||
+2
@@ -43,4 +43,6 @@ class ErasedOverridabilityCondition : ExternalOverridabilityCondition {
|
||||
else -> Result.UNKNOWN
|
||||
}
|
||||
}
|
||||
|
||||
override fun getContract() = ExternalOverridabilityCondition.Contract.SUCCESS_ONLY
|
||||
}
|
||||
|
||||
+2
@@ -33,4 +33,6 @@ class FieldOverridabilityCondition : ExternalOverridabilityCondition {
|
||||
|
||||
return Result.UNKNOWN
|
||||
}
|
||||
|
||||
override fun getContract() = ExternalOverridabilityCondition.Contract.BOTH
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user