Set<XField> loadedFieldSet,
LoadedFieldSet loadedFieldSet,
	public ValueNumberAnalysis(MethodGen methodGen, DepthFirstSearch dfs,							   Set<XField> loadedFieldSet,	                           RepositoryLookupFailureCallback lookupFailureCallback) {		super(dfs);		this.methodGen = methodGen;		this.loadedFieldSet = loadedFieldSet;		this.factory = new ValueNumberFactory();		this.cache = new ValueNumberCache();		this.visitor = new ValueNumberFrameModelingVisitor(methodGen, factory, cache,		        lookupFailureCallback);		int numLocals = methodGen.getMaxLocals();		this.entryLocalValueList = new ValueNumber[numLocals];		for (int i = 0; i < numLocals; ++i)			this.entryLocalValueList[i] = factory.createFreshValue();		this.exceptionHandlerValueNumberMap = new IdentityHashMap<BasicBlock, ValueNumber>();		// For non-static methods, keep track of which value represents the		// "this" reference		if (!methodGen.isStatic())			this.thisValue = entryLocalValueList[0];		this.factAtLocationMap = new HashMap<Location, ValueNumberFrame>();		this.factAfterLocationMap = new HashMap<Location, ValueNumberFrame>();	}