public InterceptorProcessor parse()

in bytekit-core/src/main/java/com/alibaba/bytekit/asm/interceptor/annotation/AtInvoke.java [49:75]


        public InterceptorProcessor parse(Method method, Annotation annotationOnMethod) {

            AtInvoke atInvoke = (AtInvoke) annotationOnMethod;

            String owner = null;
            String desc = null;
            if (!atInvoke.owner().equals(Void.class)) {
                owner = Type.getType(atInvoke.owner()).getInternalName();
            }
            if (atInvoke.desc().isEmpty()) {
                desc = null;
            }

            List<String> excludes = new ArrayList<String>();
            for (String exclude : atInvoke.excludes()) {
                excludes.add(exclude);
            }

            LocationMatcher locationMatcher = new InvokeLocationMatcher(owner, atInvoke.name(), desc, atInvoke.count(),
                    atInvoke.whenComplete(), excludes);

            return InterceptorParserUtils.createInterceptorProcessor(method,
                    locationMatcher,
                    atInvoke.inline(),
                    atInvoke.suppress(),
                    atInvoke.suppressHandler());
        }