org_apache_dubbo_rpc_cluster_router_mesh_rule_DestinationRuleTest_java
org.yaml.snakeyaml.emitter.Emitter
private ScalarAnalysis analyzeScalar(String scalar) {
        if (scalar.length() == 0) {
            return new ScalarAnalysis(scalar, true, false, false, true, true, false);
        }
        boolean blockIndicators = false;
        boolean flowIndicators = false;
        boolean lineBreaks = false;
        boolean specialCharacters = false;
        boolean leadingSpace = false;
        boolean leadingBreak = false;
        boolean trailingSpace = false;
        boolean trailingBreak = false;
        boolean breakSpace = false;
        boolean spaceBreak = false;
        if (scalar.startsWith("---") || scalar.startsWith("...")) {
            blockIndicators = true;
            flowIndicators = true;
        }
        boolean preceededByWhitespace = true;
        boolean followedByWhitespace = scalar.length() == 1 || Constant.NULL_BL_T_LINEBR.has(scalar.codePointAt(1));
        boolean previousSpace = false;
        boolean previousBreak = false;
        int index = 0;
        while (index < scalar.length()) {
            int nextIndex;
            boolean isLineBreak;
            int c = scalar.codePointAt(index);
            if (index == 0) {
                if ("#,[]{}&*!|>'\"%@`".indexOf(c) != -1) {
                    flowIndicators = true;
                    blockIndicators = true;
                }
                if (c == 63 || c == 58) {
                    flowIndicators = true;
                    if (followedByWhitespace) {
                        blockIndicators = true;
                    }
                }
                if (c == 45 && followedByWhitespace) {
                    flowIndicators = true;
                    blockIndicators = true;
                }
            } else {
                if (",?[]{}".indexOf(c) != -1) {
                    flowIndicators = true;
                }
                if (c == 58) {
                    flowIndicators = true;
                    if (followedByWhitespace) {
                        blockIndicators = true;
                    }
                }
                if (c == 35 && preceededByWhitespace) {
                    flowIndicators = true;
                    blockIndicators = true;
                }
            }
            if (isLineBreak = Constant.LINEBR.has(c)) {
                lineBreaks = true;
            }
            if (c != 10 && (32 > c || c > 126)) {
                if (c == 133 || c >= 160 && c <= 55295 || c >= 57344 && c <= 65533 || c >= 65536 && c <= 0x10FFFF) {
                    if (!this.allowUnicode) {
                        specialCharacters = true;
                    }
                } else {
                    specialCharacters = true;
                }
            }
            if (c == 32) {
                if (index == 0) {
                    leadingSpace = true;
                }
                if (index == scalar.length() - 1) {
                    trailingSpace = true;
                }
                if (previousBreak) {
                    breakSpace = true;
                }
                previousSpace = true;
                previousBreak = false;
            } else if (isLineBreak) {
                if (index == 0) {
                    leadingBreak = true;
                }
                if (index == scalar.length() - 1) {
                    trailingBreak = true;
                }
                if (previousSpace) {
                    spaceBreak = true;
                }
                previousSpace = false;
                previousBreak = true;
            } else {
                previousSpace = false;
                previousBreak = false;
            }
            preceededByWhitespace = Constant.NULL_BL_T.has(c) || isLineBreak;
            followedByWhitespace = true;
            if ((index += Character.charCount(c)) + 1 >= scalar.length() || (nextIndex = index + Character.charCount(scalar.codePointAt(index))) >= scalar.length()) continue;
            followedByWhitespace = Constant.NULL_BL_T.has(scalar.codePointAt(nextIndex)) || isLineBreak;
        }
        boolean allowFlowPlain = true;
        boolean allowBlockPlain = true;
        boolean allowSingleQuoted = true;
        boolean allowBlock = true;
        if (leadingSpace || leadingBreak || trailingSpace || trailingBreak) {
            allowBlockPlain = false;
            allowFlowPlain = false;
        }
        if (trailingSpace) {
            allowBlock = false;
        }
        if (breakSpace) {
            allowSingleQuoted = false;
            allowBlockPlain = false;
            allowFlowPlain = false;
        }
        if (spaceBreak || specialCharacters) {
            allowBlock = false;
            allowSingleQuoted = false;
            allowBlockPlain = false;
            allowFlowPlain = false;
        }
        if (lineBreaks) {
            allowFlowPlain = false;
        }
        if (flowIndicators) {
            allowFlowPlain = false;
        }
        if (blockIndicators) {
            allowBlockPlain = false;
        }
        return new ScalarAnalysis(scalar, false, lineBreaks, allowFlowPlain, allowBlockPlain, allowSingleQuoted, allowBlock);
    }
 -> java.lang.String.length(): int -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.indexOf(int): int -> java.lang.Character.charCount(int): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.Character.charCount(int): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.indexOf(int): int -> java.lang.Character.charCount(int): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.Character.charCount(int): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.indexOf(int): int -> java.lang.Character.charCount(int): int -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.indexOf(int): int -> java.lang.Character.charCount(int): int -> java.lang.String.length(): int -> java.lang.String.length(): int
 [CALL] -> java.lang.String.length(): int -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.indexOf(int): int [CALL] [EXIT] -> java.lang.Character.charCount(int): int [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.Character.charCount(int): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.indexOf(int): int [CALL] [EXIT] -> java.lang.Character.charCount(int): int [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.Character.charCount(int): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.indexOf(int): int [CALL] [EXIT] -> java.lang.Character.charCount(int): int [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.codePointAt(int): int -> java.lang.String.indexOf(int): int [CALL] [EXIT] -> java.lang.Character.charCount(int): int [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.length(): int [CALL] [EXIT] [EXIT]