protected boolean isNameEqual(JvmFeature overriding, JvmFeature overridden) { return Objects.equal(overriding.getSimpleName(), overridden.getSimpleName()); }
public static String getPropertyName(final JvmFeature feature) { String _xifexpression = null; boolean _isStatic = feature.isStatic(); if (_isStatic) { _xifexpression = PropertyUtil.getPropertyName(feature, feature.getSimpleName(), 1, 2); } else { _xifexpression = PropertyUtil.getPropertyName(feature, feature.getSimpleName(), 0, 1); } return _xifexpression; }
protected void computeAllFeatures(List<JvmFeature> unfiltered, Multimap<String, AbstractResolvedOperation> processedOperations, List<JvmFeature> result) { for(JvmFeature feature: unfiltered) { if (feature instanceof JvmOperation) { String simpleName = feature.getSimpleName(); if (processedOperations.containsKey(simpleName)) { if (parent.isOverridden((JvmOperation) feature, processedOperations.get(simpleName))) { continue; } } BottomResolvedOperation resolvedOperation = parent.createResolvedOperation((JvmOperation) feature, type); processedOperations.put(simpleName, resolvedOperation); result.add(feature); } else { result.add(feature); } } }
protected void computeAllFeatures( JvmDeclaredType type, Multimap<String, AbstractResolvedOperation> processedOperations, Set<String> processedFields, ListMultimap<String, JvmFeature> result, Set<String> seenNames) { Iterable<JvmFeature> features = type.getAllFeatures(); for(JvmFeature feature: features) { if (!seenNames.contains(feature.getSimpleName())) { if (feature instanceof JvmOperation) { JvmOperation operation = (JvmOperation) feature; String simpleName = operation.getSimpleName(); if (processedOperations.containsKey(simpleName)) { if (isOverridden(operation, processedOperations.get(simpleName))) { continue; } } BottomResolvedOperation resolvedOperation = createResolvedOperation(operation); processedOperations.put(simpleName, resolvedOperation); result.put(simpleName, operation); } else if (feature instanceof JvmField && processedFields.add(feature.getSimpleName())) { result.put(feature.getSimpleName(), feature); } } } }
protected void getAllLocalElements(TypeBucket bucket, JvmDeclaredType type, Set<String> restrictedNames, List<IEObjectDescription> result) { Iterable<JvmFeature> features = type.getAllFeatures(); for (JvmFeature feature : features) { if (feature.isStatic() && restrictedNames.contains(feature.getSimpleName())) { addDescriptions(feature, bucket, result); } } }
@Override public String getFeatureName() { JvmIdentifiableElement feature = getFeature(); if (feature instanceof JvmFeature) { String name = ((JvmFeature)feature).getSimpleName(); if (feature instanceof JvmOperation) { if (name.startsWith("add") || name.startsWith("set")) { return Strings.toFirstLower(name.substring(3)); } } return name; } else if (feature instanceof DeclaredProperty) { return ((DeclaredProperty)feature).getName(); } else { return null; } } }
protected void computeAllFeatures( JvmDeclaredType type, String name, Multimap<String, AbstractResolvedOperation> processedOperations, Set<String> processedFields, List<JvmFeature> result) { Iterable<JvmFeature> features = type.findAllFeaturesByName(name); for(JvmFeature feature: features) { if (feature instanceof JvmOperation) { JvmOperation operation = (JvmOperation) feature; String simpleName = operation.getSimpleName(); if (processedOperations.containsKey(simpleName)) { if (isOverridden(operation, processedOperations.get(simpleName))) { continue; } } BottomResolvedOperation resolvedOperation = createResolvedOperation(operation); processedOperations.put(simpleName, resolvedOperation); result.add(operation); } else if (feature instanceof JvmField && processedFields.add(feature.getSimpleName())) { result.add(feature); } } }
@Override protected void getAllLocalElements(TypeBucket bucket, JvmDeclaredType type, Set<String> restrictedNames, List<IEObjectDescription> result) { Iterable<JvmFeature> features = type.getAllFeatures(); for(JvmFeature feature: features) { if (feature.isStatic() && restrictedNames.contains(feature.getSimpleName()) && helper.isPossibleExtension(feature) && helper.isMatchingFirstParameterDeepCheck((JvmOperation) feature)) { fastAddDescriptions(feature, bucket, result); } } }
private Set<String> getAssignedFeatures( Map<String, Referrable> availableProperties, Component component) { Set<String> result = Sets.newHashSet(); if (component.isAutoInject()) { result.addAll(availableProperties.keySet()); } for(Assignment assignment: component.getAssignment()) { if (assignment.getFeature() != null && !assignment.getFeature().eIsProxy()) { JvmIdentifiableElement feature = assignment.getFeature(); if (feature instanceof JvmOperation) { result.add(Strings.toFirstLower((((JvmOperation)feature).getSimpleName().substring(3)))); } else if (feature instanceof JvmFeature) { result.add(((JvmFeature) feature).getSimpleName()); } else { result.add(((DeclaredProperty)feature).getName()); } } } return result; }
public /* @Nullable */ String getSimpleName(JvmIdentifiableElement element) { if (element == null || element.eIsProxy()) { return null; } if (element instanceof JvmFeature) { return ((JvmFeature) element).getSimpleName(); } if (element instanceof JvmFormalParameter) { return ((JvmFormalParameter) element).getName(); } if (element instanceof XVariableDeclaration) { return ((XVariableDeclaration) element).getName(); } return element.getSimpleName(); } }
/** Analyzing the type hierarchy of the given interface and * extract hierarchy information. * * @param jvmElement - the element to analyze * @param operations - filled with the operations inside and inherited by the element. * @param fields - filled with the fields inside and inherited by the element. * @param sarlSignatureProvider - provider of tools related to action signatures. * @see OverrideHelper */ public static void populateInterfaceElements( JvmDeclaredType jvmElement, Map<ActionPrototype, JvmOperation> operations, Map<String, JvmField> fields, IActionPrototypeProvider sarlSignatureProvider) { for (final JvmFeature feature : jvmElement.getAllFeatures()) { if (!"java.lang.Object".equals(feature.getDeclaringType().getQualifiedName())) { //$NON-NLS-1$ if (operations != null && feature instanceof JvmOperation) { final JvmOperation operation = (JvmOperation) feature; final ActionParameterTypes sig = sarlSignatureProvider.createParameterTypesFromJvmModel( operation.isVarArgs(), operation.getParameters()); final ActionPrototype actionKey = sarlSignatureProvider.createActionPrototype( operation.getSimpleName(), sig); operations.put(actionKey, operation); } else if (fields != null && feature instanceof JvmField) { fields.put(feature.getSimpleName(), (JvmField) feature); } } } }
protected void addDescriptions(JvmFeature feature, TypeBucket bucket, List<IEObjectDescription> result) { String simpleName = feature.getSimpleName(); IEObjectDescription description = createDescription(QualifiedName.create(simpleName), feature, bucket); if (description != null) { addToList(description, result); String propertyName = toProperty(simpleName, feature); if (propertyName != null) { addToList(createDescription(QualifiedName.create(propertyName), feature, bucket), result); } } }
public Iterable<JvmFeature> findAllFeatures(final XImportDeclaration it) { Iterable<JvmFeature> _xblockexpression = null; { final JvmDeclaredType importedType = it.getImportedType(); if (((!it.isStatic()) || (importedType == null))) { return CollectionLiterals.<JvmFeature>emptyList(); } final IVisibilityHelper visibilityHelper = this.getVisibilityHelper(it.eResource()); final IResolvedFeatures resolvedFeatures = this._provider.getResolvedFeatures(importedType); final Function1<JvmFeature, Boolean> _function = (JvmFeature feature) -> { return Boolean.valueOf(((feature.isStatic() && visibilityHelper.isVisible(feature)) && ((it.getMemberName() == null) || feature.getSimpleName().startsWith(it.getMemberName())))); }; _xblockexpression = IterableExtensions.<JvmFeature>filter(resolvedFeatures.getAllFeatures(), _function); } return _xblockexpression; }
if (!"java.lang.Object".equals(feature.getDeclaringType().getQualifiedName()) //$NON-NLS-1$ && isVisible(jvmElement, feature) && !isHiddenMember(feature.getSimpleName())) { if (feature instanceof JvmOperation) { if (!feature.isStatic()) { operation.isVarArgs(), operation.getParameters()); final ActionPrototype actionKey = sarlSignatureProvider.createActionPrototype( feature.getSimpleName(), sig); if (operation.isAbstract() && !operation.isDefault()) { if (operationsToImplement != null) { inheritedFields.put(feature.getSimpleName(), (JvmField) feature);
protected void fastAddDescriptions(JvmFeature feature, TypeBucket bucket, List<IEObjectDescription> result) { String simpleName = feature.getSimpleName(); QualifiedName featureName = QualifiedName.create(simpleName); BucketedEObjectDescription description = doCreateDescription(featureName, feature, bucket); addToList(description, result); String propertyName = toProperty(simpleName, feature); if (propertyName != null) { addToList(doCreateDescription(QualifiedName.create(propertyName), feature, bucket), result); } if (!implicit) { QualifiedName operator = getOperatorMapping().getOperator(featureName); if (operator != null) { addToList(doCreateDescription(operator, feature, bucket), result); } } }
protected void addDescriptions(JvmFeature feature, List<IEObjectDescription> result) { String simpleName = feature.getSimpleName(); QualifiedName featureName = QualifiedName.create(simpleName); addDescription(featureName, feature, result); QualifiedName operator = getOperatorMapping().getOperator(featureName); if (operator != null) { addDescription(operator, feature, result); QualifiedName compoundOperator = getOperatorMapping().getCompoundOperator(operator); if (compoundOperator != null) { addDescription(compoundOperator, feature, result); } } String propertyName = toProperty(simpleName, feature); if (propertyName != null) { addDescription(QualifiedName.create(propertyName), feature, result); } }
@Override protected void addDescriptions(JvmFeature feature, TypeBucket bucket, List<IEObjectDescription> result) { String simpleName = feature.getSimpleName(); QualifiedName featureName = QualifiedName.create(simpleName); BucketedEObjectDescription description = createDescription(featureName, feature, bucket); if (description != null) { addToList(description, result); String propertyName = toProperty(simpleName, feature); if (propertyName != null) { addToList(doCreateDescription(QualifiedName.create(propertyName), feature, bucket), result); } if (!implicit) { QualifiedName operator = getOperatorMapping().getOperator(featureName); if (operator != null) { addToList(doCreateDescription(operator, feature, bucket), result); } } } }
protected void addDescriptions(JvmFeature feature, XExpression receiver, LightweightTypeReference receiverType, Map<JvmTypeParameter, LightweightMergedBoundTypeArgument> receiverTypeParameterMapping, ExpressionBucket bucket, List<IEObjectDescription> result) { String simpleName = feature.getSimpleName(); QualifiedName featureName = QualifiedName.create(simpleName); boolean validStaticState = isValidStaticState(receiver);