/** Returns true if this patching chain contains the specified element. */ @Override public boolean contains(Object u) { return innerChain.contains(u); }
/** * Convenience method returning true if this class is a library class. * * @see Scene#getLibraryClasses() */ public boolean isLibraryClass() { return Scene.v().getLibraryClasses().contains(this); }
/** * Convenience method returning true if this class is a phantom class. * * @see Scene#getPhantomClasses() */ public boolean isPhantomClass() { return Scene.v().getPhantomClasses().contains(this); }
/** * Convenience method returning true if this class is an application class. * * @see Scene#getApplicationClasses() */ public boolean isApplicationClass() { return Scene.v().getApplicationClasses().contains(this); }
/** * This method adds a STOP node to the graph, if necessary, to make the CFG single-tailed. */ protected void handleMultipleReturns() { if (this.getTails().size() > 1) { Unit stop = new ExitStmt(); List<Unit> predsOfstop = new ArrayList<Unit>(); for (Unit tail : this.getTails()) { predsOfstop.add(tail); List<Unit> tailSuccs = this.unitToSuccs.get(tail); if (tailSuccs == null) { tailSuccs = new ArrayList<Unit>(); this.unitToSuccs.put(tail, tailSuccs); } tailSuccs.add(stop); } this.unitToPreds.put(stop, predsOfstop); this.unitToSuccs.put(stop, new ArrayList<Unit>()); Chain<Unit> units = body.getUnits().getNonPatchingChain(); if (!units.contains(stop)) { units.addLast(stop); } } }
private void validateLocal(Body body, ValueBox vb, List<ValidationException> exception) { Value value; if ((value = vb.getValue()) instanceof Local) { if (!body.getLocals().contains(value)) { exception.add(new ValidationException(value, "Local not in chain : " + value + " in " + body.getMethod())); } } }
if (units.contains(head)) { units.remove(head);
if (!units.contains(ehnop)) { units.insertBefore((Unit) ehnop, b);
if (!chain.contains(stmt)) { throw new RuntimeException("Error! Chain does not contains stmt (extending point)!");
if (!containerStmts.contains(stmt)) { throw new RuntimeException();
EquivalentValue ev = new EquivalentValue(v); if (availExprs.contains(ev)) {
if (units.contains(pair.unit)) { deadAssignment = false; break;
if (!b.getLocals().contains(lockObj[tn.setNumber])) { b.getLocals().add(lockObj[tn.setNumber]);