@Override public boolean match(MatchNode matchNode, MatchEngine engine) { if (!super.match(matchNode, engine)) { return false; } Integer type = (Integer)matchNode.getRuleValue(MatchProperties.EXPRENT_FUNCTYPE); return type == null || this.funcType == type; } }
@Override public boolean match(MatchNode matchNode, MatchEngine engine) { if (!super.match(matchNode, engine)) { return false; } Integer type = (Integer)matchNode.getRuleValue(MatchProperties.STATEMENT_IFTYPE); return type == null || this.iftype == type; } }
@Override public boolean match(MatchNode matchNode, MatchEngine engine) { if (!super.match(matchNode, engine)) { return false; } Integer type = (Integer)matchNode.getRuleValue(MatchProperties.EXPRENT_EXITTYPE); return type == null || this.exitType == type; } }
@Override public IMatchable findObject(MatchNode matchNode, int index) { if (matchNode.getType() != MatchNode.MATCHNODE_EXPRENT) { return null; } List<Exprent> lstAllExprents = getAllExprents(); if (lstAllExprents == null || lstAllExprents.isEmpty()) { return null; } String position = (String)matchNode.getRuleValue(MatchProperties.EXPRENT_POSITION); if (position != null) { if (position.matches("-?\\d+")) { return lstAllExprents.get((lstAllExprents.size() + Integer.parseInt(position)) % lstAllExprents.size()); // care for negative positions } } else if (index < lstAllExprents.size()) { // use 'index' parameter return lstAllExprents.get(index); } return null; }
@Override public IMatchable findObject(MatchNode matchNode, int index) { IMatchable object = super.findObject(matchNode, index); if (object != null) { return object; } if (matchNode.getType() == MatchNode.MATCHNODE_EXPRENT) { String position = (String)matchNode.getRuleValue(MatchProperties.EXPRENT_POSITION); if ("head".equals(position)) { return getHeadexprent(); } } return null; }
@Override public IMatchable findObject(MatchNode matchNode, int index) { int node_type = matchNode.getType(); if (node_type == MatchNode.MATCHNODE_STATEMENT && !this.stats.isEmpty()) { String position = (String)matchNode.getRuleValue(MatchProperties.STATEMENT_POSITION); if (position != null) { if (position.matches("-?\\d+")) { return this.stats.get((this.stats.size() + Integer.parseInt(position)) % this.stats.size()); // care for negative positions } } else if (index < this.stats.size()) { // use 'index' parameter return this.stats.get(index); } } else if (node_type == MatchNode.MATCHNODE_EXPRENT && this.exprents != null && !this.exprents.isEmpty()) { String position = (String)matchNode.getRuleValue(MatchProperties.EXPRENT_POSITION); if (position != null) { if (position.matches("-?\\d+")) { return this.exprents.get((this.exprents.size() + Integer.parseInt(position)) % this.exprents.size()); // care for negative positions } } else if (index < this.exprents.size()) { // use 'index' parameter return this.exprents.get(index); } } return null; }
public boolean match(MatchNode matchNode, MatchEngine engine) { if(!super.match(matchNode, engine)) { return false; } Integer type = (Integer)matchNode.getRuleValue(MatchProperties.STATEMENT_IFTYPE); if(type != null) { if(this.iftype != type.intValue()) { return false; } } return true; }
public boolean match(MatchNode matchNode, MatchEngine engine) { if(!super.match(matchNode, engine)) { return false; } Integer type = (Integer)matchNode.getRuleValue(MatchProperties.EXPRENT_EXITTYPE); if(type != null) { if(this.exitType != type.intValue()) { return false; } } return true; }
public boolean match(MatchNode matchNode, MatchEngine engine) { if(!super.match(matchNode, engine)) { return false; } Integer type = (Integer)matchNode.getRuleValue(MatchProperties.EXPRENT_FUNCTYPE); if(type != null) { if(this.funcType != type.intValue()) { return false; } } return true; }
@Override public IMatchable findObject(MatchNode matchNode, int index) { if (matchNode.getType() != MatchNode.MATCHNODE_EXPRENT) { return null; } List<Exprent> lstAllExprents = getAllExprents(); if (lstAllExprents == null || lstAllExprents.isEmpty()) { return null; } String position = (String)matchNode.getRuleValue(MatchProperties.EXPRENT_POSITION); if (position != null) { if (position.matches("-?\\d+")) { return lstAllExprents .get((lstAllExprents.size() + Integer.parseInt(position)) % lstAllExprents.size()); // care for negative positions } } else if (index < lstAllExprents.size()) { // use 'index' parameter return lstAllExprents.get(index); } return null; }
public IMatchable findObject(MatchNode matchNode, int index) { IMatchable object = super.findObject(matchNode, index); if(object != null) { return object; } if(matchNode.getType() == MatchNode.MATCHNODE_EXPRENT) { String position = (String)matchNode.getRuleValue(MatchProperties.EXPRENT_POSITION); if("head".equals(position)) { return getHeadexprent(); } } return null; }
public IMatchable findObject(MatchNode matchNode, int index) { int node_type = matchNode.getType(); if (node_type == MatchNode.MATCHNODE_STATEMENT && !this.stats.isEmpty()) { String position = (String)matchNode.getRuleValue(MatchProperties.STATEMENT_POSITION); if(position != null) { if(position.matches("-?\\d+")) { return this.stats.get((this.stats.size() + Integer.parseInt(position)) % this.stats.size()); // care for negative positions } } else if(index < this.stats.size()) { // use 'index' parameter return this.stats.get(index); } } else if(node_type == MatchNode.MATCHNODE_EXPRENT && this.exprents != null && !this.exprents.isEmpty()) { String position = (String)matchNode.getRuleValue(MatchProperties.EXPRENT_POSITION); if(position != null) { if(position.matches("-?\\d+")) { return this.exprents.get((this.exprents.size() + Integer.parseInt(position)) % this.exprents.size()); // care for negative positions } } else if(index < this.exprents.size()) { // use 'index' parameter return this.exprents.get(index); } } return null; }