isRedundant = false;
}
}
} else if(lambdaExp instanceof BinaryOp) {
BinaryOp definingExpr = (BinaryOp)lambdaExp;
if(lambda.getNParameters() == 2 &&
isParameterVar(lambda.getNthParameter(0), definingExpr.getLeftExpr()) &&
isParameterVar(lambda.getNthParameter(1), definingExpr.getRightExpr())) {
isRedundant = true;
} else if(lambda.getNParameters() == 1 &&
isParameterVar(lambda.getNthParameter(0), definingExpr.getRightExpr()) &&
!containsParameterReference(lambda.getNthParameter(0), definingExpr.getLeftExpr())) {
isRedundant = true;
}
} else if(lambdaExp instanceof UnaryOp) {
UnaryOp definingExpr = (UnaryOp)lambdaExp;
if(lambda.getNParameters() == 1 &&
isParameterVar(lambda.getNthParameter(0), definingExpr.getExpr())) {
isRedundant = true;
}
}