public InterceptorProcessor parse()

in bytekit-core/src/main/java/com/alibaba/bytekit/asm/interceptor/annotation/AtInvokeException.java [53:79]


        public InterceptorProcessor parse(Method method, Annotation annotationOnMethod) {

            AtInvokeException atInvokeException = (AtInvokeException) annotationOnMethod;

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

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

            LocationMatcher locationMatcher = new InvokeLocationMatcher(owner, atInvokeException.name(), desc,
                    atInvokeException.count(), true, excludes, true);

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