public Dataflow<TypeFrame, TypeAnalysis> createDataflow(ClassContext classContext, Method method)
@Override public Dataflow<TypeFrame, TypeAnalysis> createDataflow(ClassContext classContext, Method method)
	public static void main(String[] argv) throws Exception {		if (argv.length != 1) {			System.err.println("Usage: " + FindRefComparison.class.getName() + " <class file>");			System.exit(1);		}		DataflowTestDriver<TypeFrame, TypeAnalysis> driver =		        new DataflowTestDriver<TypeFrame, TypeAnalysis>() {			        public Dataflow<TypeFrame, TypeAnalysis> createDataflow(ClassContext classContext, Method method)			                throws CFGBuilderException, DataflowAnalysisException {				        RepositoryLookupFailureCallback lookupFailureCallback =				                classContext.getLookupFailureCallback();				        MethodGen methodGen = classContext.getMethodGen(method);				        DepthFirstSearch dfs = classContext.getDepthFirstSearch(method);				        CFG cfg = classContext.getCFG(method);				        ExceptionSetFactory exceptionSetFactory = classContext.getExceptionSetFactory(method);				        TypeMerger typeMerger =				                new RefComparisonTypeMerger(lookupFailureCallback, exceptionSetFactory);				        TypeFrameModelingVisitor visitor =				                new RefComparisonTypeFrameModelingVisitor(methodGen.getConstantPool(), lookupFailureCallback);				        TypeAnalysis analysis = new TypeAnalysis(methodGen, cfg, dfs, typeMerger, visitor,				                lookupFailureCallback, exceptionSetFactory);				        Dataflow<TypeFrame, TypeAnalysis> dataflow =				                new Dataflow<TypeFrame, TypeAnalysis>(cfg, analysis);				        dataflow.execute();				        return dataflow;			        }		        };		driver.execute(argv[0]);	}