+ @Override
+ public void generateEnforce(PlanContext context, CodeWriter w, long location, Expression[] parameters,
+ Expression[] typeConstraintEvidenceParameters) {
+ throw new UnsupportedOperationException(getClass().getSimpleName() + " does not support enforce.");
+ }
+
+ @Override
+ public void generateIterate(PlanContext context, CodeWriter w, long location, int boundMask, Variable[] variables,
+ Expression[] expressions, Expression[] typeConstraintEvidenceParameters) {
+ throw new UnsupportedOperationException(getClass().getSimpleName() + " does not support iterate.");
+ }
+
+ @Override
+ public Type getEnforceEffect() {
+ return writingEffect;
+ }
+
+ @Override
+ public Type getQueryEffect() {
+ return sections.get(0).effect;
+ }