ITypeConstraint defines= SimpleTypeConstraint.createDefinesConstraint(fFactory.makeExpressionOrTypeVariable(accessExpression, getContext()), fFactory.makeRawBindingVariable(fieldBinding.getType()));
ITypeConstraint[] defines= fTypeConstraintFactory.createDefinesConstraint(fConstraintVariableFactory.makeExpressionOrTypeVariable(accessExpression, getContext()), fConstraintVariableFactory.makeRawBindingVariable(fieldBinding.getType()));
  private ITypeConstraint[] createConstraintsForAccessToField(IVariableBinding fieldBinding, Expression qualifier, Expression accessExpression){	  Assert.isTrue(fieldBinding.isField());	  ITypeConstraint defines= SimpleTypeConstraint.createDefinesConstraint(fFactory.makeExpressionOrTypeVariable(accessExpression, getContext()), fFactory.makeRawBindingVariable(fieldBinding.getType()));	  if (qualifier == null)		  return new ITypeConstraint[]{defines};	  ConstraintVariable declaringTypeVar= fFactory.makeDeclaringTypeVariable(fieldBinding);	  ITypeConstraint subType= SimpleTypeConstraint.createSubtypeConstraint(fFactory.makeExpressionOrTypeVariable(qualifier, getContext()), declaringTypeVar);	  return new ITypeConstraint[]{defines, subType};		  }