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);
System.out.println("  result: " +  result);
	public void meetInto(UnconditionalValueDerefSet fact, Edge edge,			UnconditionalValueDerefSet result) throws DataflowAnalysisException {				if (ignoreThisEdge(edge)) {			return;		}				// Edge transfer function		if (isFactValid(fact)) {			fact = propagateDerefSetsToMergeInputValues(fact, edge);			if (invDataflow != null) {				fact = clearDerefsOnNonNullBranch(fact, edge);			}		}		if (result.isTop() || fact.isBottom()) {			// Make result identical to other fact			copy(fact, result);		} else if (result.isBottom() || fact.isTop()) {			// No change in result fact		} else {			// Dataflow merge			// (intersection of unconditional deref values)			result.mergeWith(fact, vnaDataflow.getAnalysis().getFactory());		}		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);		}	}