ScanResult inflate()

in processor/src/main/java/org/apache/commons/weaver/Inflater.java [115:185]


    ScanResult inflate(final ScanResult scanResult) {
        for (final WeavablePackage pkg : scanResult.getPackages()) {
            packageAnnotations.forEach((k, v) -> {
                if (k.getName().equals(pkg.getTarget().getName())) {
                    pkg.addAnnotations(v);
                }
            });
            for (final WeavableClass<?> cls : pkg.getClasses()) {
                classAnnotations.forEach((k, v) -> {
                    if (k.getName().equals(cls.getTarget().getName())) {
                        cls.addAnnotations(v);
                    }
                });
                for (final WeavableField<?> fld : cls.getFields()) {
                    fieldAnnotations.forEach((k, v) -> {
                        try {
                            if (k.get().equals(fld.getTarget())) {
                                fld.addAnnotations(v);
                            }
                        } catch (final ClassNotFoundException ignored) {
                        }
                    });
                }
                for (final WeavableConstructor<?> ctor : cls.getConstructors()) {
                    ctorAnnotations.forEach((k, v) -> {
                        try {
                            if (k.get().equals(ctor.getTarget())) {
                                ctor.addAnnotations(v);
                            }
                        } catch (final ClassNotFoundException ignored) {
                        }
                    });
                    for (final WeavableConstructorParameter<?> param : ctor.getParameters()) {
                        ctorParameterAnnotations.forEach((k, v) -> {
                            try {
                                final Parameter<?> parameter = k.get();
                                if (parameter.getDeclaringExecutable().equals(ctor.getTarget())
                                    && param.getTarget().intValue() == parameter.getIndex()) {
                                    param.addAnnotations(v);
                                }
                            } catch (final ClassNotFoundException ignored) {
                            }
                        });
                    }
                }
                for (final WeavableMethod<?> methd : cls.getMethods()) {
                    methodAnnotations.forEach((k, v) -> {
                        try {
                            if (k.get().equals(methd.getTarget())) {
                                methd.addAnnotations(v);
                            }
                        } catch (final ClassNotFoundException ignored) {
                        }
                    });
                    for (final WeavableMethodParameter<?> param : methd.getParameters()) {
                        methodParameterAnnotations.forEach((k, v) -> {
                            try {
                                final Parameter<?> parameter = k.get();
                                if (parameter.getDeclaringExecutable().equals(methd.getTarget())
                                    && param.getTarget().intValue() == parameter.getIndex()) {
                                    param.addAnnotations(v);
                                }
                            } catch (final ClassNotFoundException ignored) {
                            }
                        });
                    }
                }
            }
        }
        return scanResult;
    }