int findOffset (Node expression) { expression.accept(this); return typeOffset; }
public String getFQN(Node expression, ModelBuilder builder) { exp.clear(); this.builder = builder; expression.accept(this); StringBuilder sb = new StringBuilder(); for(String part : exp){ sb.append(part); sb.append('.'); } if (sb.length() == 0) { LOGGER.log(Level.FINE, "New operator withouth name: {0}", expression.toString()); //NOI18N return null; } return sb.toString().substring(0, sb.length() - 1); }
public Set<TypeUsage> getSemiTypes(Node expression, ModelBuilder builder) { this.builder = builder; exp = new ArrayList<String>(); result = new HashMap<String, TypeUsage>(); reset(); expression.accept(this); add(exp, typeOffset == -1 ? offsetVisitor.findOffset(expression) : typeOffset, false); return new HashSet<TypeUsage>(result.values()); }
@Override public boolean enterTernaryNode(TernaryNode ternaryNode) { ternaryNode.getTrueExpression().accept(this); add(exp, offsetVisitor.findOffset(ternaryNode.getTrueExpression()), false); reset(); Node third = ternaryNode.getFalseExpression(); third.accept(this); int typeStart = offsetVisitor.findOffset(third); add(exp, typeStart, false); reset(); return false; }