bindingSet = addOrCheckDefinition(fieldVarName, field, bindingSet); if (bindingSet == null) return null; return addOrCheckDefinition(resultVarName, result, bindingSet);
return checkConsistent(field, result, bindingSet);
	public BindingSet match(InstructionHandle handle, ConstantPoolGen cpg,		ValueNumberFrame before, ValueNumberFrame after, BindingSet bindingSet) throws DataflowAnalysisException {		Variable field;		Instruction ins = handle.getInstruction();		// The instruction must be GETFIELD or GETSTATIC		if (ins instanceof GETFIELD) {			GETFIELD getfield = (GETFIELD) ins;			ValueNumber ref = before.getTopValue();			field = new FieldVariable(ref, getfield.getClassName(cpg), getfield.getFieldName(cpg));		} else if (ins instanceof GETSTATIC) {			GETSTATIC getstatic = (GETSTATIC) ins;			field = new FieldVariable(getstatic.getClassName(cpg), getstatic.getFieldName(cpg));		} else			return null;		Variable result = new LocalVariable(after.getTopValue());		// Ensure that the field and result variables are consistent with		// previous definitions (if any)		bindingSet = addOrCheckDefinition(fieldVarName, field, bindingSet);		if (bindingSet == null)			return null;		return addOrCheckDefinition(resultVarName, result, bindingSet);	}