package fr.inria.diverse.iot2.iot2.aspects; import fr.inria.diverse.iot2.iot2.iot2.BooleanUnaryExpression; import fr.inria.diverse.iot2.iot2.iot2.BooleanUnaryOperator; import fr.inria.diverse.iot2.iot2.iot2.BooleanValue; import fr.inria.diverse.iot2.iot2.iot2.BooleanVariable; import fr.inria.diverse.iot2.iot2.iot2.Value; import fr.inria.diverse.k3.al.annotationprocessor.Aspect; import fr.inria.diverse.k3.al.annotationprocessor.OverrideAspectMethod; import fr.inria.diverse.iot2.iot2.aspects.ActivityExpressionAspect; import fr.inria.diverse.iot2.iot2.aspects.BooleanUnaryActivityExpressionAspectBooleanUnaryExpressionAspectProperties; import fr.inria.diverse.iot2.iot2.aspects.Context; @Aspect(className = BooleanUnaryExpression.class) @SuppressWarnings("all") public class BooleanUnaryActivityExpressionAspect extends ActivityExpressionAspect { @OverrideAspectMethod public static void execute(final BooleanUnaryExpression _self, final Context c) { fr.inria.diverse.iot2.iot2.aspects.BooleanUnaryActivityExpressionAspectBooleanUnaryExpressionAspectProperties _self_ = fr.inria.diverse.iot2.iot2.aspects.BooleanUnaryActivityExpressionAspectBooleanUnaryExpressionAspectContext.getSelf(_self); if (_self instanceof fr.inria.diverse.iot2.iot2.iot2.BooleanUnaryExpression){ fr.inria.diverse.iot2.iot2.aspects.BooleanUnaryActivityExpressionAspect._privk3_execute(_self_, (fr.inria.diverse.iot2.iot2.iot2.BooleanUnaryExpression)_self,c); } else if (_self instanceof fr.inria.diverse.iot2.iot2.iot2.Expression){ fr.inria.diverse.iot2.iot2.aspects.ActivityExpressionAspect.execute((fr.inria.diverse.iot2.iot2.iot2.Expression)_self,c); } else { throw new IllegalArgumentException("Unhandled parameter types: " + java.util.Arrays.<Object>asList(_self).toString()); }; } private static void super_execute(final BooleanUnaryExpression _self, final Context c) { fr.inria.diverse.iot2.iot2.aspects.ActivityExpressionAspectExpressionAspectProperties _self_ = fr.inria.diverse.iot2.iot2.aspects.ActivityExpressionAspectExpressionAspectContext.getSelf(_self); fr.inria.diverse.iot2.iot2.aspects.ActivityExpressionAspect._privk3_execute(_self_, _self,c); } protected static void _privk3_execute(final BooleanUnaryActivityExpressionAspectBooleanUnaryExpressionAspectProperties _self_, final BooleanUnaryExpression _self, final Context c) { BooleanUnaryOperator _operator = _self.getOperator(); int _value = _operator.getValue(); boolean _equals = (_value == BooleanUnaryOperator.NOT_VALUE); if (_equals) { BooleanVariable _assignee = _self.getAssignee(); Value _currentValue = _assignee.getCurrentValue(); BooleanVariable _operand = _self.getOperand(); Value _currentValue_1 = _operand.getCurrentValue(); boolean _isValue = ((BooleanValue) _currentValue_1).isValue(); boolean _not = (!_isValue); ((BooleanValue) _currentValue).setValue(_not); } } }