* @param dpatterns
* @return
*/
public static ILogicExpression getMatchingPatterns(IClass dx, IInstance inst){
// check for multi-pattern
ILogicExpression result = new LogicExpression(ILogicExpression.OR);
ILogicExpression exp = dx.getEquivalentRestrictions();
if(exp.getExpressionType() == ILogicExpression.OR){
for(int i=0;i<exp.size();i++){
if(exp.get(i) instanceof ILogicExpression){
ILogicExpression e = (ILogicExpression) exp.get(i);
// if this pattern matches
if(e.evaluate(inst)){
result.add(exp.get(i));
}
}
}
}
return result;