boolean isBackEdge = edge.isBackwardinBytecode(); if (DEBUG && isBackEdge && edge.getType() == EdgeTypes.IFCMP_EDGE) { System.out.println("Meet into " + edge); System.out.println("  Backedge according to bytecode: " + isBackEdge); System.out.println("  Backedge according to DFS: " + dfs.getDFSEdgeType(edge) ); System.out.println("  Facts: " + fact + " -> " + result); }
boolean isBackEdge = edge.isBackwardInBytecode();
	public void meetInto(UnconditionalDerefSet fact, Edge edge, UnconditionalDerefSet result) throws DataflowAnalysisException {		// Ignore implicit exceptions		if (AnalysisContext.currentAnalysisContext().getBoolProperty(AnalysisFeatures.ACCURATE_EXCEPTIONS)				&& edge.isExceptionEdge()				&& !edge.isFlagSet(EdgeTypes.EXPLICIT_EXCEPTIONS_FLAG)) {			return;		}				if (result.isTop() || fact.isBottom()) {			copy(fact, result);		} else if (result.isBottom() || fact.isTop()) {			// Nothing to do		} else {			// Meet is intersection			result.and(fact);		}		boolean isBackEdge = edge.isBackwardinBytecode();		if (DEBUG && isBackEdge && edge.getType() == EdgeTypes.IFCMP_EDGE) {			System.out.println("Meet into " + edge);		    System.out.println("  Backedge according to bytecode: " + isBackEdge);		    System.out.println("  Backedge according to DFS: " + dfs.getDFSEdgeType(edge) );		    System.out.println("  Facts: " + fact + " -> " + result);		}	}