org_aspectj_tools_ajdoc_BugTest_java
jdk.javadoc.internal.doclets.formats.html.LinkFactoryImpl
@Override
    protected Content getClassLink(LinkInfo linkInfo) {
        HtmlConfiguration configuration = this.m_writer.configuration;
        LinkInfoImpl classLinkInfo = (LinkInfoImpl)linkInfo;
        boolean noLabel = linkInfo.label == null || linkInfo.label.isEmpty();
        TypeElement typeElement = classLinkInfo.typeElement;
        String title = "";
        if (classLinkInfo.where == null || classLinkInfo.where.length() == 0) {
            boolean isTypeLink = classLinkInfo.type != null && this.utils.isTypeVariable(this.utils.getComponentType(classLinkInfo.type));
            title = this.getClassToolTip(typeElement, isTypeLink);
        }
        Content label = classLinkInfo.getClassLinkLabel(configuration);
        ContentBuilder link = new ContentBuilder();
        if (this.utils.isIncluded(typeElement)) {
            if (configuration.isGeneratedDoc(typeElement)) {
                DocPath filename = this.getPath(classLinkInfo);
                if (linkInfo.linkToSelf || !this.docPaths.forName(typeElement).equals(this.m_writer.filename)) {
                    ((Content)link).add(this.m_writer.links.createLink(filename.fragment(classLinkInfo.where), label, classLinkInfo.isStrong, title, classLinkInfo.target));
                    if (noLabel && !classLinkInfo.excludeTypeParameterLinks) {
                        ((Content)link).add(this.getTypeParameterLinks(linkInfo));
                    }
                    return link;
                }
            }
        } else {
            Content crossLink = this.m_writer.getCrossClassLink(typeElement, classLinkInfo.where, label, classLinkInfo.isStrong, true);
            if (crossLink != null) {
                ((Content)link).add(crossLink);
                if (noLabel && !classLinkInfo.excludeTypeParameterLinks) {
                    ((Content)link).add(this.getTypeParameterLinks(linkInfo));
                }
                return link;
            }
        }
        ((Content)link).add(label);
        if (noLabel && !classLinkInfo.excludeTypeParameterLinks) {
            ((Content)link).add(this.getTypeParameterLinks(linkInfo));
        }
        return link;
    }
 -> java.lang.StringBuilder.length(): int -> java.lang.String.length(): int -> java.lang.StringBuilder.length(): int -> java.util.Collections.emptyList(): java.util.List -> java.util.Set.contains(java.lang.Object): boolean -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.booleanValue(): boolean -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isLetter(char): boolean -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isLetter(char): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.split(java.lang.String): java.lang.String[] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.noneMatch(java.util.function.Predicate): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.lastIndexOf(java.lang.String): int -> java.lang.String.split(java.lang.String): java.lang.String[] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.noneMatch(java.util.function.Predicate): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List -> java.lang.String.join(java.lang.CharSequence,java.lang.Iterable): java.lang.String -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.String.isEmpty(): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.isEmpty(): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.Objects.requireNonNull(java.lang.Object): java.lang.Object -> java.util.Collections.emptyMap(): java.util.Map -> java.util.Collections.emptyList(): java.util.List -> java.util.Objects.requireNonNull(java.lang.Object): java.lang.Object -> java.lang.StringBuilder.length(): int -> java.util.List.isEmpty(): boolean -> java.util.List.add(java.lang.Object): boolean -> java.nio.charset.Charset.forName(java.lang.String): java.nio.charset.Charset -> java.lang.String.getBytes(java.nio.charset.Charset): byte[] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.String.format(java.lang.String,java.lang.Object[]): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.String.format(java.lang.String,java.lang.Object[]): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.Map.isEmpty(): boolean -> java.util.Objects.requireNonNull(java.lang.Object): java.lang.Object -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.toString(): java.lang.String -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.util.Objects.requireNonNull(java.lang.Object): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.add(java.lang.Object): boolean
 [CALL] [CALL] -> java.lang.StringBuilder.length(): int [EXIT] -> java.lang.String.length(): int [CALL] [CALL] -> java.lang.StringBuilder.length(): int [EXIT] [EXIT] [CALL] -> java.util.Collections.emptyList(): java.util.List [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Set.contains(java.lang.Object): boolean -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean [EXIT] [EXIT] -> java.lang.Boolean.booleanValue(): boolean [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object [EXIT] [CALL] -> java.lang.String.endsWith(java.lang.String): boolean [EXIT] [EXIT] [CALL] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] -> java.lang.String.isEmpty(): boolean [EXIT] [EXIT] [CALL] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] -> java.lang.String.isEmpty(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.isEmpty(): boolean [CALL] -> java.lang.String.endsWith(java.lang.String): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isLetter(char): boolean -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.Character.isLetter(char): boolean [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean -> java.lang.String.isEmpty(): boolean [CALL] -> java.lang.String.split(java.lang.String): java.lang.String[] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List [CALL] -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.noneMatch(java.util.function.Predicate): boolean [CALL] -> java.lang.String.isEmpty(): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.lang.String.lastIndexOf(java.lang.String): int [CALL] -> java.lang.String.split(java.lang.String): java.lang.String[] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List [CALL] -> java.util.List.stream(): java.util.stream.Stream -> java.util.stream.Stream.noneMatch(java.util.function.Predicate): boolean [CALL] -> java.lang.String.isEmpty(): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.subList(int,int): java.util.List -> java.lang.String.join(java.lang.CharSequence,java.lang.Iterable): java.lang.String [CALL] -> java.lang.String.endsWith(java.lang.String): boolean [EXIT] [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] [CALL] -> java.lang.String.isEmpty(): boolean [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [CALL] [CALL] -> java.util.Objects.requireNonNull(java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] -> java.util.Collections.emptyMap(): java.util.Map -> java.util.Collections.emptyList(): java.util.List [CALL] -> java.util.Objects.requireNonNull(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.StringBuilder.length(): int [EXIT] [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT] [CALL] -> java.nio.charset.Charset.forName(java.lang.String): java.nio.charset.Charset -> java.lang.String.getBytes(java.nio.charset.Charset): byte[] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.String.format(java.lang.String,java.lang.Object[]): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.String.format(java.lang.String,java.lang.Object[]): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.BitSet.get(int): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [CALL] -> java.util.Map.isEmpty(): boolean [CALL] -> java.util.Objects.requireNonNull(java.lang.Object): java.lang.Object [EXIT] [CALL] -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.charAt(int): char -> java.lang.CharSequence.length(): int -> java.lang.CharSequence.toString(): java.lang.String [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT] -> java.lang.String.length(): int -> java.lang.String.length(): int [EXIT] [EXIT] [CALL] [CALL] -> java.util.Objects.requireNonNull(java.lang.Object): java.lang.Object [EXIT] [CALL] -> java.util.List.isEmpty(): boolean [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT]