boolean isReferenced(Element e) { if (e == null) { return false; } return ret.referencedElements.contains(new Pair<Element, Integer>(e, e.getId())); }
boolean isReferenced(Element e) { if (e == null) { return false; } return ret.referencedElements.contains(new Pair<Element, Integer>(e, e.getId())); }
public static String getFileOfAscendency(Element decl) { Element e = decl; String file = null; Set<Integer> visitedIds = new TreeSet<Integer>(); while (e != null && (file = e.getElementFile()) == null && visitedIds.add(e.getId())) { e = e.getParentElement(); } return file; }
@Override protected void visitElement(Element d) { if (d != null) visitedIds.add(d.getId()); super.visitElement(d); } });
@Override public void visitIdentifier(Identifier identifier) { super.visitIdentifier(identifier); Element e = result.symbols.getVariable(identifier); if (e != null && isReferenced(e)) { String changedName = referencedElementsChangedNames.get(e.getId()); if (changedName != null) { Identifier replacedIdentifier = ident(changedName); identifier.replaceBy(replacedIdentifier); ret.referencedElements.add(new Pair<Element, Integer>(replacedIdentifier, replacedIdentifier.getId())); } } }
@Override public void visitIdentifier(Identifier identifier) { super.visitIdentifier(identifier); Element e = result.symbols.getVariable(identifier); if (e != null && isReferenced(e)) { String changedName = referencedElementsChangedNames.get(e.getId()); if (changedName != null) { Identifier replacedIdentifier = ident(changedName); identifier.replaceBy(replacedIdentifier); ret.referencedElements.add(new Pair<Element, Integer>(replacedIdentifier, replacedIdentifier.getId())); } } }
@Override public void visitUnaryOp(UnaryOp unaryOp) { super.visitUnaryOp(unaryOp); if (unaryOp.getOperator() == UnaryOperator.Reference) { if (unaryOp.getOperand() instanceof VariableRef) { VariableRef vr = (VariableRef) unaryOp.getOperand(); Element e = result.symbols.getVariable(vr.getName()); if (e != null) { ret.referencedElements.add(new Pair<Element, Integer>(e, e.getId())); } } } } });
@Override public void visitUnaryOp(UnaryOp unaryOp) { super.visitUnaryOp(unaryOp); if (unaryOp.getOperator() == UnaryOperator.Reference) { if (unaryOp.getOperand() instanceof VariableRef) { VariableRef vr = (VariableRef) unaryOp.getOperand(); Element e = result.symbols.getVariable(vr.getName()); if (e != null) { ret.referencedElements.add(new Pair<Element, Integer>(e, e.getId())); } } } } });
@Override public void visitUnaryOp(UnaryOp unaryOp) { if (unaryOp.getOperator() == UnaryOperator.Reference) { if (unaryOp.getOperand() instanceof VariableRef) { VariableRef vr = (VariableRef) unaryOp.getOperand(); Identifier ident = vr.getName(); Element e = result.symbols.getVariable(ident); if ((e != null || isReferenced(e)) || isReferenced(ident)) { String changedName = referencedElementsChangedNames.get(e.getId()); if (changedName != null) { Element rep = varRef(changedName); unaryOp.replaceBy(rep); visit(rep); return; } } } } super.visitUnaryOp(unaryOp); } });
@Override public void visitUnaryOp(UnaryOp unaryOp) { if (unaryOp.getOperator() == UnaryOperator.Reference) { if (unaryOp.getOperand() instanceof VariableRef) { VariableRef vr = (VariableRef) unaryOp.getOperand(); Identifier ident = vr.getName(); Element e = result.symbols.getVariable(ident); if ((e != null || isReferenced(e)) || isReferenced(ident)) { String changedName = referencedElementsChangedNames.get(e.getId()); if (changedName != null) { Element rep = varRef(changedName); unaryOp.replaceBy(rep); visit(rep); return; } } } } super.visitUnaryOp(unaryOp); } });
assertTrue("Scanner did not visit child element " + fieldName + " with a " + fieldTypeImplClass.getName() , visitedIds.contains(arg.getId()));
String name = decl.getName(); String changedName = "p" + StringUtils.capitalize(name); referencedElementsChangedNames.put(e.getId(), changedName); decl.setName(changedName); VariablesDeclaration vd = (VariablesDeclaration) decl.getParentElement();
String name = decl.getName(); String changedName = "p" + StringUtils.capitalize(name); referencedElementsChangedNames.put(e.getId(), changedName); decl.setName(changedName); VariablesDeclaration vd = (VariablesDeclaration) decl.getParentElement();