protected String internalGetName(String keyword) { StringBuffer result= new StringBuffer("?"); //$NON-NLS-1$ TType bound= getBound(); if (bound != null) { result.append(" "); //$NON-NLS-1$ result.append(keyword); result.append(" "); //$NON-NLS-1$ result.append(bound.getName()); } return result.toString(); }
@Override protected String getPlainPrettySignature() { return "capture-of " + fWildcard.getPrettySignature(); //$NON-NLS-1$ } }
private void createWildcardConstraint(WildcardType typeArgument, CollectionElementVariable2 argElementCv, ConstraintVariable2 paramElementCv) { if (typeArgument.isExtendsWildcardType()) fTCModel.createSubtypeConstraint(argElementCv, paramElementCv); else fTCModel.createSubtypeConstraint(paramElementCv, argElementCv); }
protected boolean checkLowerBound(TType rhs) { if (! getWildcard().isSuperWildcardType()) return false; return rhs.canAssignTo(getWildcard().getBound()); }
protected boolean doCanAssignTo(TType lhs) { switch (lhs.getKind()) { case NULL_TYPE: return false; case VOID_TYPE: return false; case PRIMITIVE_TYPE: return false; case ARRAY_TYPE: return canAssignToArrayType((ArrayType)lhs); case GENERIC_TYPE: return false; case STANDARD_TYPE: return isArrayLhsCompatible(lhs); case PARAMETERIZED_TYPE: return false; case RAW_TYPE: return false; case UNBOUND_WILDCARD_TYPE: case EXTENDS_WILDCARD_TYPE: case SUPER_WILDCARD_TYPE: return ((WildcardType)lhs).checkAssignmentBound(this); case TYPE_VARIABLE: return false; case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(lhs); } return false; }
protected void initialize(ITypeBinding binding) { Assert.isTrue(binding.isWildcardType()); super.initialize(binding); ITypeBinding bound= binding.getBound(); if (bound != null) { fBound= getEnvironment().create(bound); } }
@Override protected boolean doCanAssignTo(TType lhs) { switch (lhs.getKind()) { case NULL_TYPE: return false; case VOID_TYPE: return false; case PRIMITIVE_TYPE: return false; case ARRAY_TYPE: return canAssignToArrayType((ArrayType)lhs); case GENERIC_TYPE: return false; case STANDARD_TYPE: return isArrayLhsCompatible(lhs); case PARAMETERIZED_TYPE: return false; case RAW_TYPE: return false; case UNBOUND_WILDCARD_TYPE: case EXTENDS_WILDCARD_TYPE: case SUPER_WILDCARD_TYPE: return ((WildcardType)lhs).checkAssignmentBound(this); case TYPE_VARIABLE: return false; case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(this); } return false; }
protected boolean checkLowerBound(TType rhs) { if (! getWildcard().isSuperWildcardType()) return false; return rhs.canAssignTo(getWildcard().getBound()); }
@Override protected void initialize(ITypeBinding binding) { Assert.isTrue(binding.isWildcardType()); super.initialize(binding); ITypeBinding bound= binding.getBound(); if (bound != null) { fBound= getEnvironment().create(bound); } }
protected String internalGetName(String keyword) { StringBuffer result= new StringBuffer("?"); //$NON-NLS-1$ TType bound= getBound(); if (bound != null) { result.append(" "); //$NON-NLS-1$ result.append(keyword); result.append(" "); //$NON-NLS-1$ result.append(bound.getName()); } return result.toString(); }
@Override protected boolean doCanAssignTo(TType lhs) { switch (lhs.getKind()) { case NULL_TYPE: case VOID_TYPE: return false; case PRIMITIVE_TYPE: case ARRAY_TYPE: return false; case GENERIC_TYPE: return false; case STANDARD_TYPE: case PARAMETERIZED_TYPE: case RAW_TYPE: return canAssignOneBoundTo(lhs); case UNBOUND_WILDCARD_TYPE: case EXTENDS_WILDCARD_TYPE: case SUPER_WILDCARD_TYPE: return ((WildcardType)lhs).checkAssignmentBound(this); case TYPE_VARIABLE: return doExtends((TypeVariable)lhs); case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(this); } return false; }
protected boolean checkLowerBound(TType rhs) { if (! getWildcard().isSuperWildcardType()) return false; return rhs.canAssignTo(getWildcard().getBound()); }
@Override protected void initialize(ITypeBinding binding) { Assert.isTrue(binding.isWildcardType()); super.initialize(binding); ITypeBinding bound= binding.getBound(); if (bound != null) { fBound= getEnvironment().create(bound); } }
@Override protected String getPlainPrettySignature() { return "capture-of " + fWildcard.getPrettySignature(); //$NON-NLS-1$ } }
private void createWildcardConstraint(WildcardType typeArgument, CollectionElementVariable2 argElementCv, ConstraintVariable2 paramElementCv) { if (typeArgument.isExtendsWildcardType()) fTCModel.createSubtypeConstraint(argElementCv, paramElementCv); else fTCModel.createSubtypeConstraint(paramElementCv, argElementCv); }
protected String internalGetPrettySignature(String keyword) { StringBuffer result= new StringBuffer("?"); //$NON-NLS-1$ TType bound= getBound(); if (bound != null) { result.append(" "); //$NON-NLS-1$ result.append(keyword); result.append(" "); //$NON-NLS-1$ result.append(bound.getPlainPrettySignature()); } return result.toString(); } }
@Override protected boolean doCanAssignTo(TType lhs) { switch (lhs.getKind()) { case NULL_TYPE: return false; case VOID_TYPE: return false; case PRIMITIVE_TYPE: return false; case ARRAY_TYPE: return canAssignToArrayType((ArrayType)lhs); case GENERIC_TYPE: return false; case STANDARD_TYPE: return isArrayLhsCompatible(lhs); case PARAMETERIZED_TYPE: return false; case RAW_TYPE: return false; case UNBOUND_WILDCARD_TYPE: case EXTENDS_WILDCARD_TYPE: case SUPER_WILDCARD_TYPE: return ((WildcardType)lhs).checkAssignmentBound(this); case TYPE_VARIABLE: return false; case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(this); } return false; }
protected String getPlainPrettySignature() { return "capture-of " + fWildcard.getPrettySignature(); //$NON-NLS-1$ } }
private void createWildcardConstraint(WildcardType typeArgument, CollectionElementVariable2 argElementCv, ConstraintVariable2 paramElementCv) { if (typeArgument.isExtendsWildcardType()) fTCModel.createSubtypeConstraint(argElementCv, paramElementCv); else fTCModel.createSubtypeConstraint(paramElementCv, argElementCv); }
protected String internalGetPrettySignature(String keyword) { StringBuffer result= new StringBuffer("?"); //$NON-NLS-1$ TType bound= getBound(); if (bound != null) { result.append(" "); //$NON-NLS-1$ result.append(keyword); result.append(" "); //$NON-NLS-1$ result.append(bound.getPlainPrettySignature()); } return result.toString(); } }