@Override @SuppressWarnings("synthetic-access") protected boolean isPrivateByDefault(XtendMember member) { final JvmVisibility defaultVisibility = SARLValidator.this.defaultVisibilityProvider.getDefaultJvmVisibility(member); return defaultVisibility == JvmVisibility.PRIVATE; }
@Override @SuppressWarnings("synthetic-access") protected boolean isPublicByDefault(XtendMember member) { final JvmVisibility defaultVisibility = SARLValidator.this.defaultVisibilityProvider.getDefaultJvmVisibility(member); return defaultVisibility == JvmVisibility.PUBLIC; }
@Override @SuppressWarnings("synthetic-access") protected boolean isProtectedByDefault(XtendMember member) { final JvmVisibility defaultVisibility = SARLValidator.this.defaultVisibilityProvider.getDefaultJvmVisibility(member); return defaultVisibility == JvmVisibility.PROTECTED; }
@Override @SuppressWarnings("synthetic-access") protected boolean isPackageByDefault(XtendMember member) { final JvmVisibility defaultVisibility = SARLValidator.this.defaultVisibilityProvider.getDefaultJvmVisibility(member); return defaultVisibility == JvmVisibility.DEFAULT; }
/** Replies if the given visiblity is the default visibility for the given element. * * @param element the element * @param visibility the visibility to test. * @return <code>true</code> if the given visibility is the default one. */ default boolean isDefaultVisibility(EObject element, JvmVisibility visibility) { return Objects.equals(getDefaultJvmVisibility(element), visibility); }
private void setVisibility(JvmMember jvmMember, XtendMember member) { JvmVisibility visibility = member.getVisibility(); if (visibility == null) { visibility = this.defaultVisibilityProvider.getDefaultJvmVisibility(member); } jvmMember.setVisibility(visibility); }
@Override protected JvmOperation deriveGenericDispatchOperationSignature( Iterable<JvmOperation> localOperations, JvmGenericType target) { final JvmOperation dispatcher = super.deriveGenericDispatchOperationSignature(localOperations, target); // // Fixing the behavior for determining the visibility of the dispatcher since // it does not fit the SARL requirements. // JvmVisibility higherVisibility = JvmVisibility.PRIVATE; for (final JvmOperation jvmOperation : localOperations) { final Iterable<XtendFunction> xtendFunctions = Iterables.filter( this.sarlAssociations.getSourceElements(jvmOperation), XtendFunction.class); for (final XtendFunction func : xtendFunctions) { JvmVisibility visibility = func.getVisibility(); if (visibility == null) { visibility = this.defaultVisibilityProvider.getDefaultJvmVisibility(func); } if (this.visibilityComparator.compare(visibility, higherVisibility) > 0) { higherVisibility = visibility; } } } dispatcher.setVisibility(higherVisibility); return dispatcher; }