package fr.inria.diverse.iot2.iot2.aspects; import fr.inria.diverse.k3.al.annotationprocessor.Aspect; import java.util.Scanner; import fr.inria.diverse.iot2.iot2.iot2.Expression; import fr.inria.diverse.iot2.iot2.iot2.Expression_AccessMember; import fr.inria.diverse.iot2.iot2.iot2.Expression_VariableName; import fr.inria.diverse.iot2.iot2.aspects.Environment; import fr.inria.diverse.iot2.iot2.aspects.Expression_AccessMemberAspectExpression_AccessMemberAspectProperties; import fr.inria.diverse.iot2.iot2.aspects.LuaExpressionAspect; @Aspect(className = Expression_AccessMember.class) @SuppressWarnings("all") public class Expression_AccessMemberAspect extends LuaExpressionAspect { public static void execute(final Expression_AccessMember _self, final Environment c) { fr.inria.diverse.iot2.iot2.aspects.Expression_AccessMemberAspectExpression_AccessMemberAspectProperties _self_ = fr.inria.diverse.iot2.iot2.aspects.Expression_AccessMemberAspectExpression_AccessMemberAspectContext.getSelf(_self); if (_self instanceof fr.inria.diverse.iot2.iot2.iot2.Expression_AccessMember){ fr.inria.diverse.iot2.iot2.aspects.Expression_AccessMemberAspect._privk3_execute(_self_, (fr.inria.diverse.iot2.iot2.iot2.Expression_AccessMember)_self,c); } else if (_self instanceof fr.inria.diverse.iot2.iot2.iot2.Expression){ fr.inria.diverse.iot2.iot2.aspects.LuaExpressionAspect.execute((fr.inria.diverse.iot2.iot2.iot2.Expression)_self,c); } else if (_self instanceof fr.inria.diverse.iot2.iot2.iot2.Statement_FunctioncallOrAssignment){ fr.inria.diverse.iot2.iot2.aspects.Statement_FunctioncallOrAssignmentAspect.execute((fr.inria.diverse.iot2.iot2.iot2.Statement_FunctioncallOrAssignment)_self,c); } else if (_self instanceof fr.inria.diverse.iot2.iot2.iot2.Statement){ fr.inria.diverse.iot2.iot2.aspects.StatementAspect.execute((fr.inria.diverse.iot2.iot2.iot2.Statement)_self,c); } else { throw new IllegalArgumentException("Unhandled parameter types: " + java.util.Arrays.<Object>asList(_self).toString()); }; } protected static void _privk3_execute(final Expression_AccessMemberAspectExpression_AccessMemberAspectProperties _self_, final Expression_AccessMember _self, final Environment c) { String _memberName = _self.getMemberName(); boolean _equals = _memberName.equals("read"); if (_equals) { Expression x = _self.getObject(); boolean _matched = false; if (!_matched) { if (x instanceof Expression_VariableName) { String _variable = ((Expression_VariableName)x).getVariable(); boolean _equals_1 = _variable.equals("io"); if (_equals_1) { _matched=true; Scanner scanIn = new Scanner(System.in); String in = scanIn.nextLine(); scanIn.close(); c.pushValue(in); } } } } } }