package dk.brics.jscontrolflow.statements;
public interface AssignmentQuestionAnswer<Q,A> {
A caseBinaryOperation(BinaryOperation stm, Q arg);
A caseBooleanConst(BooleanConst stm, Q arg);
A caseCall(Call stm, Q arg);
A caseCatch(Catch stm, Q arg);
A caseConstructorCall(CallConstructor stm, Q arg);
A caseCreateFunction(CreateFunction stm, Q arg);
A caseDeleteProperty(DeleteProperty stm, Q arg);
A caseGetNextProperty(GetNextProperty stm, Q arg);
A caseNewArray(NewArray stm, Q arg);
A caseNewObject(NewObject stm, Q arg);
A caseNewRegexp(NewRegexp stm, Q arg);
A caseNullConst(NullConst stm, Q arg);
A caseNumberConst(NumberConst stm, Q arg);
A casePhi(Phi stm, Q arg);
A caseReadProperty(ReadProperty stm, Q arg);
A caseStringConst(StringConst stm, Q arg);
A caseUndefinedConst(UndefinedConst stm, Q arg);
A caseUnaryOperation(UnaryOperation stm, Q arg);
A caseReadThis(ReadThis stm, Q arg);
A caseReadVariable(ReadVariable stm, Q arg);
A caseCallVariable(CallVariable stm, Q arg);
A caseCallProperty(CallProperty stm, Q arg);
}