TypeAnalysis analysis = new TypeAnalysis(methodGen, dfs, typeMerger, visitor, lookupFailureCallback);
TypeAnalysis analysis = new TypeAnalysis(methodGen, cfg, dfs, typeMerger, visitor, lookupFailureCallback);
	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);				TypeMerger typeMerger = new RefComparisonTypeMerger(lookupFailureCallback);				TypeFrameModelingVisitor visitor =					new RefComparisonTypeFrameModelingVisitor(methodGen.getConstantPool(), lookupFailureCallback);				TypeAnalysis analysis = new TypeAnalysis(methodGen, dfs, typeMerger, visitor, lookupFailureCallback);				Dataflow<TypeFrame, TypeAnalysis> dataflow = new Dataflow<TypeFrame, TypeAnalysis>(cfg, analysis);				dataflow.execute();				return dataflow;			}		};		driver.execute(argv[0]);	}