private static JvmOperation findOperation(JvmDeclaredType type, String operationName) { // For capacity call redirection for (final JvmOperation declaredOperation : type.getDeclaredOperations()) { if (declaredOperation.getSimpleName().equals(operationName)) { return declaredOperation; } } return null; }
protected List<IResolvedOperation> computeDeclaredOperations() { JvmType rawType = getRawType(); if (!(rawType instanceof JvmDeclaredType)) { return Collections.emptyList(); } List<IResolvedOperation> result = Lists.newArrayList(); Iterable<JvmOperation> operations = ((JvmDeclaredType)rawType).getDeclaredOperations(); for(JvmOperation operation: operations) { BottomResolvedOperation resolvedOperation = createResolvedOperation(operation); result.add(resolvedOperation); } return Collections.unmodifiableList(result); }
private void computeCapacityFunctionMarkers(JvmDeclaredType leafType) { final Map<JvmOperation, String> mapping = new HashMap<>(); final LinkedList<JvmDeclaredType> buffer = new LinkedList<>(); final Set<String> processed = new TreeSet<>(); buffer.addLast(leafType); while (!buffer.isEmpty()) { final JvmDeclaredType type = buffer.removeFirst(); boolean markOne = false; for (final JvmOperation operation : type.getDeclaredOperations()) { if (!mapping.containsKey(operation)) { markOne = true; mapping.put(operation, "getSkill(" + type.getSimpleName() //$NON-NLS-1$ + ")." + operation.getSimpleName()); //$NON-NLS-1$ } } if (markOne) { for (final JvmTypeReference superTypeReference : type.getExtendedInterfaces()) { if (processed.add(superTypeReference.getIdentifier()) && superTypeReference.getType() instanceof JvmDeclaredType) { buffer.addLast((JvmDeclaredType) superTypeReference.getType()); } } } } this.useCapacityMapping = mapping; }
protected void computeAllOperations(JvmDeclaredType type, Multimap<String, AbstractResolvedOperation> processedOperations) { for (JvmOperation operation: type.getDeclaredOperations()) { boolean addToResult = true; if (targetVersion.isAtLeast(JavaVersion.JAVA8)) { addToResult = handleOverridesAndConflicts(operation, processedOperations); } else { String simpleName = operation.getSimpleName(); if (processedOperations.containsKey(simpleName)) { addToResult = !isOverridden(operation, processedOperations.get(simpleName)); } } if (addToResult) { BottomResolvedOperation resolvedOperation = createResolvedOperation(operation); processedOperations.put(operation.getSimpleName(), resolvedOperation); } } }
protected void computeAllOperations(boolean isSuperClassBranch, Multimap<String, AbstractResolvedOperation> superClassBranchOperations, JvmDeclaredType type, Multimap<String, AbstractResolvedOperation> processedOperations) { for (JvmOperation operation: type.getDeclaredOperations()) { boolean addToResult = true; if (targetVersion.isAtLeast(JavaVersion.JAVA8)) { addToResult = handleOverridesAndConflicts(isSuperClassBranch, operation, processedOperations, superClassBranchOperations); } else { String simpleName = operation.getSimpleName(); if (processedOperations.containsKey(simpleName)) { addToResult = !isOverridden(operation, processedOperations.get(simpleName)); } } if (addToResult) { BottomResolvedOperation resolvedOperation = createResolvedOperation(operation); processedOperations.put(operation.getSimpleName(), resolvedOperation); if (isSuperClassBranch) { superClassBranchOperations.put(operation.getSimpleName(), resolvedOperation); } } } }
private static void createInfoCall(IExpressionBuilder builder, String message) { final JvmParameterizedTypeReference capacity = builder.newTypeRef(null, LOGGING_CAPACITY_NAME); final String objectType = Object.class.getName(); final String objectArrayType = objectType + "[]"; //$NON-NLS-1$ final JvmOperation infoMethod = Iterables.find( ((JvmDeclaredType) capacity.getType()).getDeclaredOperations(), it -> { if (Objects.equals(it.getSimpleName(), "info") //$NON-NLS-1$ && it.getParameters().size() == 2) { final String type1 = it.getParameters().get(0).getParameterType().getIdentifier(); final String type2 = it.getParameters().get(1).getParameterType().getIdentifier(); return Objects.equals(objectType, type1) && Objects.equals(objectArrayType, type2); } return false; }, null); if (infoMethod != null) { builder.setExpression("info(\"" + message + "\")"); //$NON-NLS-1$ //$NON-NLS-2$ ((XFeatureCall) builder.getXExpression()).setFeature(infoMethod); } }
boolean _isWildcard = id.isWildcard(); if (_isWildcard) { Iterable<JvmOperation> _declaredOperations = type.getDeclaredOperations(); final Function1<JvmOperation, Boolean> _function = new Function1<JvmOperation, Boolean>() { @Override } else { final String methodName = id.getMemberName(); Iterable<JvmOperation> _declaredOperations_1 = type.getDeclaredOperations(); final Function1<JvmOperation, Boolean> _function_1 = new Function1<JvmOperation, Boolean>() { @Override
Iterable<JvmOperation> operations = type.getDeclaredOperations(); ITypeReferenceOwner owner = new StandardTypeReferenceOwner(services, type); ContextualVisibilityHelper contextualVisibilityHelper = new ContextualVisibilityHelper(visibilityHelper, owner.newParameterizedTypeReference(type));
/** Create the JvmOperation for the given JDT method. * * @param method the JDT method. * @param context the context of the constructor. * @return the JvmOperation * @throws JavaModelException if the Java model is invalid. */ private JvmOperation getJvmOperation(IMethod method, JvmType context) throws JavaModelException { if (context instanceof JvmDeclaredType) { final JvmDeclaredType declaredType = (JvmDeclaredType) context; final ActionParameterTypes jdtSignature = this.actionPrototypeProvider.createParameterTypes( Flags.isVarargs(method.getFlags()), getFormalParameterProvider(method)); for (final JvmOperation jvmOperation : declaredType.getDeclaredOperations()) { final ActionParameterTypes jvmSignature = this.actionPrototypeProvider.createParameterTypesFromJvmModel( jvmOperation.isVarArgs(), jvmOperation.getParameters()); if (jvmSignature.equals(jdtSignature)) { return jvmOperation; } } } return null; }
final JvmDeclaredType jvmContainer = (JvmDeclaredType) this.associations.getPrimaryJvmElement(container); final Map<String, JvmOperation> importedFeatures = CollectionLiterals.newHashMap(); for (final JvmOperation operation : jvmContainer.getDeclaredOperations()) { if (Utils.isNameForHiddenCapacityImplementationCallingMethod(operation.getSimpleName())) { importedFeatures.put(operation.getSimpleName(), operation);
+ closureType.getSimpleName()); final JvmDeclaredType rawType = (JvmDeclaredType) closureType.getType(); final JvmOperation function = rawType.getDeclaredOperations().iterator().next();