java类javax.annotation.processing.Completion的实例源码

ProxyProcessor.java 文件源码 项目:GitHub 阅读 26 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(
    Element element,
    AnnotationMirror annotation,
    ExecutableElement member,
    String userText) {
  return delegate.getCompletions(element, annotation, member, userText);
}
SourceUtils.java 文件源码 项目:incubator-netbeans 阅读 25 收藏 0 点赞 0 评论 0
/**
 * Returns a list of completions for an annotation attribute value suggested by
 * annotation processors.
 * 
 * @param info the CompilationInfo used to resolve annotation processors
 * @param element the element being annotated
 * @param annotation the (perhaps partial) annotation being applied to the element
 * @param member the annotation member to return possible completions for
 * @param userText source code text to be completed
 * @return suggested completions to the annotation member
 * 
 * @since 0.57
 */
public static List<? extends Completion> getAttributeValueCompletions(CompilationInfo info, Element element, AnnotationMirror annotation, ExecutableElement member, String userText) {
    List<Completion> completions = new LinkedList<>();
    if (info.getPhase().compareTo(Phase.ELEMENTS_RESOLVED) >= 0) {
        String fqn = ((TypeElement) annotation.getAnnotationType().asElement()).getQualifiedName().toString();
        Iterable<? extends Processor> processors =
                JavacParser.ProcessorHolder.instance(info.impl.getJavacTask().getContext()).getProcessors();
        if (processors != null) {
            for (Processor processor : processors) {
                boolean match = false;
                for (String sat : processor.getSupportedAnnotationTypes()) {
                    if ("*".equals(sat)) { //NOI18N
                        match = true;
                        break;
                    } else if (sat.endsWith(".*")) { //NOI18N
                        sat = sat.substring(0, sat.length() - 1);
                        if (fqn.startsWith(sat)) {
                            match = true;
                            break;
                        }
                    } else if (fqn.equals(sat)) {
                        match = true;
                        break;
                    }
                }
                if (match) {
                    try {
                        for (Completion c : processor.getCompletions(element, annotation, member, userText)) {
                            completions.add(c);
                        }
                    } catch (Exception e) {
                        Logger.getLogger(processor.getClass().getName()).log(Level.INFO, e.getMessage(), e);
                    }
                }
            }
        }
    }
    return completions;
}
OptionAnnotationProcessor.java 文件源码 项目:incubator-netbeans 阅读 24 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText) {
    if (delegate() != null) {
        return delegate().getCompletions(element, annotation, member, userText);
    } else {
        return Collections.emptySet();
    }
}
TestCompletions.java 文件源码 项目:openjdk-jdk10 阅读 26 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:openjdk9 阅读 26 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:lookaside_java-1.8.0-openjdk 阅读 29 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:jsr308-langtools 阅读 26 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:form-follows-function 阅读 37 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:infobip-open-jdk-8 阅读 49 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:openjdk-source-code-learn 阅读 27 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:OLD-OpenJDK8 阅读 30 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:s4j 阅读 23 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:jdk7-langtools 阅读 30 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
DislClassFinder.java 文件源码 项目:svm-fasttagging 阅读 26 收藏 0 点赞 0 评论 0
@Override
public Iterable <? extends Completion> getCompletions (
    final Element element, final AnnotationMirror annotation,
    final ExecutableElement member, final String userText
) {
    return Collections.emptyList ();
}
TestCompletions.java 文件源码 项目:openjdk-icedtea7 阅读 24 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TestCompletions.java 文件源码 项目:metricgenerator-jdk-compiler 阅读 30 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
TracingProcessorWrapper.java 文件源码 项目:buck 阅读 32 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(
    Element element, AnnotationMirror annotation, ExecutableElement member, String userText) {
  try (Scope scope = new Scope(AnnotationProcessingEvent.Operation.GET_COMPLETIONS)) {
    return innerProcessor.getCompletions(element, annotation, member, userText);
  }
}
ProxyProcessor.java 文件源码 项目:immutables 阅读 37 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(
    Element element,
    AnnotationMirror annotation,
    ExecutableElement member,
    String userText) {
  return delegate.getCompletions(element, annotation, member, userText);
}
TestCompletions.java 文件源码 项目:INF5000-StaticProxy 阅读 27 收藏 0 点赞 0 评论 0
public static void main(String... argv) {
    String value = "value";
    String message = "message";

    Completion c = of(value, message);
    if (!value.equals(c.getValue()) ||
        !message.equals(c.getMessage()))
        throw new RuntimeException("Bad full completion" + c);

    c = of(value);
    if (!value.equals(c.getValue()) ||
        !"".equals(c.getMessage()))
        throw new RuntimeException("Bad value completion" + c);
}
AnnotationProcessorWrapper.java 文件源码 项目:annotation-processor-toolkit 阅读 28 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText) {
    return wrappedProcessor.getCompletions(element, annotation, member, userText);
}
CreateRegistrationProcessor.java 文件源码 项目:incubator-netbeans 阅读 25 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(Element annotated, AnnotationMirror annotation, ExecutableElement attr, String userText) {
    if (processingEnv == null || annotated == null || !annotated.getKind().isClass()) {
        return Collections.emptyList();
    }

    if (   annotation == null
        || !"org.netbeans.api.editor.mimelookup.MimeRegistration".contentEquals(((TypeElement) annotation.getAnnotationType().asElement()).getQualifiedName())) {
        return Collections.emptyList();
    }

    if ("mimeType".contentEquals(attr.getSimpleName())) { // NOI18N
        return completeMimePath(annotated, annotation, attr, userText);
    }
    if (!"service".contentEquals(attr.getSimpleName())) {
        return Collections.emptyList();
    }

    TypeElement jlObject = processingEnv.getElementUtils().getTypeElement("java.lang.Object");

    if (jlObject == null) {
        return Collections.emptyList();
    }

    Collection<Completion> result = new LinkedList<Completion>();
    List<TypeElement> toProcess = new LinkedList<TypeElement>();

    toProcess.add((TypeElement) annotated);

    while (!toProcess.isEmpty()) {
        TypeElement c = toProcess.remove(0);

        result.add(new TypeCompletion(c.getQualifiedName().toString() + ".class"));

        List<TypeMirror> parents = new LinkedList<TypeMirror>();

        parents.add(c.getSuperclass());
        parents.addAll(c.getInterfaces());

        for (TypeMirror tm : parents) {
            if (tm == null || tm.getKind() != TypeKind.DECLARED) {
                continue;
            }

            TypeElement type = (TypeElement) processingEnv.getTypeUtils().asElement(tm);

            if (!jlObject.equals(type)) {
                toProcess.add(type);
            }
        }
    }

    return result;
}
SupportedAnnotationTypesCompletion.java 文件源码 项目:incubator-netbeans 阅读 26 收藏 0 点赞 0 评论 0
@Override
    public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText) {
        ProcessingEnvironment processingEnv = this.processingEnv.get();

        if (processingEnv == null)
            return Collections.emptyList();

        TypeElement annotationObj = processingEnv.getElementUtils().getTypeElement("java.lang.annotation.Annotation");

        if (annotationObj == null)
            return Collections.emptyList();

        Trees trees = Trees.instance(processingEnv);
        TreePath path = trees.getPath(element);

        if (path == null)
            return Collections.emptyList();

        FileObject owner;

        try {
            owner = URLMapper.findFileObject(path.getCompilationUnit().getSourceFile().toUri().toURL());
        } catch (MalformedURLException ex) {
            Exceptions.printStackTrace(ex);
            return Collections.emptyList();
        }

        ClassIndex ci = ClasspathInfo.create(owner).getClassIndex();

        if (ci == null)
            return Collections.emptyList();

        List<Completion> result = new LinkedList<Completion>();

//        for (ElementHandle<TypeElement> eh : ci.getElements(ElementHandle.create(annotationObj), EnumSet.of(SearchKind.IMPLEMENTORS), EnumSet.of(SearchScope.DEPENDENCIES, SearchScope.SOURCE))) {
//            result.add(new CompletionImpl(eh.getQualifiedName()));
//        }

        for (ElementHandle<TypeElement> eh : ci.getDeclaredTypes("", ClassIndex.NameKind.PREFIX, EnumSet.of(SearchScope.DEPENDENCIES, SearchScope.SOURCE))) {
            if (eh.getKind() != ElementKind.ANNOTATION_TYPE) continue;

            result.add(new CompletionImpl('\"' + eh.getQualifiedName() + '\"'));
        }

        return result;
    }
ServiceProviderProcessor.java 文件源码 项目:incubator-netbeans 阅读 34 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(Element annotated, AnnotationMirror annotation, ExecutableElement attr, String userText) {
    if (processingEnv == null || annotated == null || !annotated.getKind().isClass()) {
        return Collections.emptyList();
    }

    if (   annotation == null
        || !"org.openide.util.lookup.ServiceProvider".contentEquals(((TypeElement) annotation.getAnnotationType().asElement()).getQualifiedName())) {
        return Collections.emptyList();
    }

    if (!"service".contentEquals(attr.getSimpleName())) {
        return Collections.emptyList();
    }

    TypeElement jlObject = processingEnv.getElementUtils().getTypeElement("java.lang.Object");

    if (jlObject == null) {
        return Collections.emptyList();
    }

    Collection<Completion> result = new LinkedList<Completion>();
    List<TypeElement> toProcess = new LinkedList<TypeElement>();

    toProcess.add((TypeElement) annotated);

    while (!toProcess.isEmpty()) {
        TypeElement c = toProcess.remove(0);

        result.add(new TypeCompletion(c.getQualifiedName().toString() + ".class"));

        List<TypeMirror> parents = new LinkedList<TypeMirror>();

        parents.add(c.getSuperclass());
        parents.addAll(c.getInterfaces());

        for (TypeMirror tm : parents) {
            if (tm == null || tm.getKind() != TypeKind.DECLARED) {
                continue;
            }

            TypeElement type = (TypeElement) processingEnv.getTypeUtils().asElement(tm);

            if (!jlObject.equals(type)) {
                toProcess.add(type);
            }
        }
    }

    return result;
}
ImmuCompiler.java 文件源码 项目:immu 阅读 22 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotationMirror, ExecutableElement executableElement, String s) {
  return Collections.emptyList();
}
NavProcessor.java 文件源码 项目:auto-nav 阅读 29 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotationMirror, ExecutableElement executableElement, String s) {
    return super.getCompletions(element, annotationMirror, executableElement, s);
}
AnnotationProcessor.java 文件源码 项目:lombok-ianchiu 阅读 29 收藏 0 点赞 0 评论 0
@Override public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText) {
    return instance.getCompletions(element, annotation, member, userText);
}
RestControllerProcessor.java 文件源码 项目:spring-web-api-test-stubber 阅读 35 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText) {
    return Collections.emptyList();
}
AidlProcessor.java 文件源码 项目:aidl2 阅读 28 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotationMirror, ExecutableElement executableElement, String s) {
    return Collections.emptyList();
}
AnnotationProcessor.java 文件源码 项目:EasyMPermission 阅读 31 收藏 0 点赞 0 评论 0
@Override public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText) {
    return instance.getCompletions(element, annotation, member, userText);
}
Generator.java 文件源码 项目:vertx-codegen 阅读 29 收藏 0 点赞 0 评论 0
@Override
public Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText) {
  return Collections.emptyList();
}


问题


面经


文章

微信
公众号

扫码关注公众号