@Override public String getName() { return internalGetName("extends"); //$NON-NLS-1$ }
@Override protected String getPlainPrettySignature() { return internalGetPrettySignature("extends"); //$NON-NLS-1$ } }
private TType createExtendsWildCardType(ITypeBinding binding) { TType bound= create(binding.getBound()); ExtendsWildcardType result= (ExtendsWildcardType)fExtendsWildcardTypes.get(bound); if (result != null) return result; result= new ExtendsWildcardType(this); fExtendsWildcardTypes.put(bound, result); result.initialize(binding); return result; }
protected boolean checkTypeArgument(TType rhs) { switch(rhs.getKind()) { case ARRAY_TYPE: case STANDARD_TYPE: case PARAMETERIZED_TYPE: return rhs.canAssignTo(getBound()); case RAW_TYPE: // unchecked conversion not allowed here; fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=127583 return ! getBound().isParameterizedType() && rhs.canAssignTo(getBound()); case UNBOUND_WILDCARD_TYPE: return getBound().isJavaLangObject(); case EXTENDS_WILDCARD_TYPE: return ((ExtendsWildcardType)rhs).getBound().canAssignTo(getBound()); case SUPER_WILDCARD_TYPE: return getBound().isJavaLangObject(); case TYPE_VARIABLE: return rhs.canAssignTo(getBound()); case CAPTURE_TYPE: return checkTypeArgument(((CaptureType)rhs).getWildcard()); default: return false; } }
protected boolean doCanAssignTo(TType lhs) { switch (lhs.getKind()) { case ARRAY_TYPE: case STANDARD_TYPE: case PARAMETERIZED_TYPE: case RAW_TYPE: return getBound().canAssignTo(lhs); case UNBOUND_WILDCARD_TYPE: return true; case SUPER_WILDCARD_TYPE: case EXTENDS_WILDCARD_TYPE: return ((WildcardType)lhs).checkAssignmentBound(getBound()); case TYPE_VARIABLE: return ((TypeVariable)lhs).checkAssignmentBound(getBound()); case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(this); default: return false; } }
private TType createExtendsWildCardType(ITypeBinding binding) { TType bound= create(binding.getBound()); ExtendsWildcardType result= fExtendsWildcardTypes.get(bound); if (result != null) return result; result= new ExtendsWildcardType(this); fExtendsWildcardTypes.put(bound, result); result.initialize(binding); return result; }
@Override protected boolean checkTypeArgument(TType rhs) { switch(rhs.getKind()) { case ARRAY_TYPE: case STANDARD_TYPE: case PARAMETERIZED_TYPE: return rhs.canAssignTo(getBound()); case RAW_TYPE: // unchecked conversion not allowed here; fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=127583 return ! getBound().isParameterizedType() && rhs.canAssignTo(getBound()); case UNBOUND_WILDCARD_TYPE: return getBound().isJavaLangObject(); case EXTENDS_WILDCARD_TYPE: return ((ExtendsWildcardType)rhs).getBound().canAssignTo(getBound()); case SUPER_WILDCARD_TYPE: return getBound().isJavaLangObject(); case TYPE_VARIABLE: return rhs.canAssignTo(getBound()); case CAPTURE_TYPE: return checkTypeArgument(((CaptureType)rhs).getWildcard()); default: return false; } }
@Override protected boolean doCanAssignTo(TType lhs) { switch (lhs.getKind()) { case ARRAY_TYPE: case STANDARD_TYPE: case PARAMETERIZED_TYPE: case RAW_TYPE: return getBound().canAssignTo(lhs); case UNBOUND_WILDCARD_TYPE: return true; case SUPER_WILDCARD_TYPE: case EXTENDS_WILDCARD_TYPE: return ((WildcardType)lhs).checkAssignmentBound(getBound()); case TYPE_VARIABLE: return ((TypeVariable)lhs).checkAssignmentBound(getBound()); case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(this); default: return false; } }
private TType createExtendsWildCardType(ITypeBinding binding) { TType bound= create(binding.getBound()); ExtendsWildcardType result= fExtendsWildcardTypes.get(bound); if (result != null) return result; result= new ExtendsWildcardType(this); fExtendsWildcardTypes.put(bound, result); result.initialize(binding); return result; }
@Override protected boolean checkTypeArgument(TType rhs) { switch(rhs.getKind()) { case ARRAY_TYPE: case STANDARD_TYPE: case PARAMETERIZED_TYPE: return rhs.canAssignTo(getBound()); case RAW_TYPE: // unchecked conversion not allowed here; fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=127583 return ! getBound().isParameterizedType() && rhs.canAssignTo(getBound()); case UNBOUND_WILDCARD_TYPE: return getBound().isJavaLangObject(); case EXTENDS_WILDCARD_TYPE: return ((ExtendsWildcardType)rhs).getBound().canAssignTo(getBound()); case SUPER_WILDCARD_TYPE: return getBound().isJavaLangObject(); case TYPE_VARIABLE: return rhs.canAssignTo(getBound()); case CAPTURE_TYPE: return checkTypeArgument(((CaptureType)rhs).getWildcard()); default: return false; } }
@Override protected boolean doCanAssignTo(TType lhs) { switch (lhs.getKind()) { case ARRAY_TYPE: case STANDARD_TYPE: case PARAMETERIZED_TYPE: case RAW_TYPE: return getBound().canAssignTo(lhs); case UNBOUND_WILDCARD_TYPE: return true; case SUPER_WILDCARD_TYPE: case EXTENDS_WILDCARD_TYPE: return ((WildcardType)lhs).checkAssignmentBound(getBound()); case TYPE_VARIABLE: return ((TypeVariable)lhs).checkAssignmentBound(getBound()); case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(this); default: return false; } }
@Override protected String getPlainPrettySignature() { return internalGetPrettySignature("extends"); //$NON-NLS-1$ } }
@Override public String getName() { return internalGetName("extends"); //$NON-NLS-1$ }
protected boolean doCanAssignTo(TType lhs) { switch(lhs.getKind()) { case STANDARD_TYPE: return ((StandardType)lhs).isJavaLangObject(); case UNBOUND_WILDCARD_TYPE: return true; case EXTENDS_WILDCARD_TYPE: return ((ExtendsWildcardType)lhs).getBound().isJavaLangObject(); case SUPER_WILDCARD_TYPE: return ((SuperWildcardType)lhs).getBound().canAssignTo(this.getBound()); case TYPE_VARIABLE: return ((TypeVariable)lhs).isUnbounded(); case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(this); default: return false; } }
protected String getPlainPrettySignature() { return internalGetPrettySignature("extends"); //$NON-NLS-1$ } }
public String getName() { return internalGetName("extends"); //$NON-NLS-1$ }
@Override protected boolean doCanAssignTo(TType lhs) { switch(lhs.getKind()) { case STANDARD_TYPE: return ((StandardType)lhs).isJavaLangObject(); case UNBOUND_WILDCARD_TYPE: return true; case EXTENDS_WILDCARD_TYPE: return ((ExtendsWildcardType)lhs).getBound().isJavaLangObject(); case SUPER_WILDCARD_TYPE: return ((SuperWildcardType)lhs).getBound().canAssignTo(this.getBound()); case TYPE_VARIABLE: return ((TypeVariable)lhs).isUnbounded(); case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(this); default: return false; } }
@Override protected boolean doCanAssignTo(TType lhs) { switch(lhs.getKind()) { case STANDARD_TYPE: return ((StandardType)lhs).isJavaLangObject(); case UNBOUND_WILDCARD_TYPE: return true; case EXTENDS_WILDCARD_TYPE: return ((ExtendsWildcardType)lhs).getBound().isJavaLangObject(); case SUPER_WILDCARD_TYPE: return ((SuperWildcardType)lhs).getBound().canAssignTo(this.getBound()); case TYPE_VARIABLE: return ((TypeVariable)lhs).isUnbounded(); case CAPTURE_TYPE: return ((CaptureType)lhs).checkLowerBound(this); default: return false; } }