org_eclipse_lemminx_extensions_xsd_XSDCompletionExtensionsTest_java
org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl
private void checkFacets(ValidatedInfo validatedInfo) throws InvalidDatatypeValueException {
        int n;
        Object object = validatedInfo.actualValue;
        String string = validatedInfo.normalizedValue;
        short s = validatedInfo.actualValueType;
        ShortList shortList = validatedInfo.itemValueTypes;
        if (this.fValidationDV != 18 && this.fValidationDV != 20) {
            n = this.fDVs[this.fValidationDV].getDataLength(object);
            if ((this.fFacetsDefined & 4) != 0 && n > this.fMaxLength) {
                throw new InvalidDatatypeValueException("cvc-maxLength-valid", new Object[]{string, Integer.toString(n), Integer.toString(this.fMaxLength), this.fTypeName});
            }
            if ((this.fFacetsDefined & 2) != 0 && n < this.fMinLength) {
                throw new InvalidDatatypeValueException("cvc-minLength-valid", new Object[]{string, Integer.toString(n), Integer.toString(this.fMinLength), this.fTypeName});
            }
            if ((this.fFacetsDefined & 1) != 0 && n != this.fLength) {
                throw new InvalidDatatypeValueException("cvc-length-valid", new Object[]{string, Integer.toString(n), Integer.toString(this.fLength), this.fTypeName});
            }
        }
        if ((this.fFacetsDefined & 0x800) != 0) {
            n = 0;
            int n2 = this.fEnumerationSize;
            short s2 = this.convertToPrimitiveKind(s);
            for (int i = 0; i < n2; ++i) {
                short s3 = this.convertToPrimitiveKind(this.fEnumeration[i].actualValueType);
                if (s2 != s3 && (s2 != 1 || s3 != 2) && (s2 != 2 || s3 != 1) || !this.fEnumeration[i].actualValue.equals(object)) continue;
                if (s2 == 44 || s2 == 43) {
                    short s4;
                    short s5;
                    int n3;
                    int n4;
                    ShortList shortList2 = this.fEnumeration[i].itemValueTypes;
                    int n5 = shortList != null ? shortList.getLength() : 0;
                    int n6 = n4 = shortList2 != null ? shortList2.getLength() : 0;
                    if (n5 != n4) continue;
                    for (n3 = 0; n3 < n5 && ((s5 = this.convertToPrimitiveKind(shortList.item(n3))) == (s4 = this.convertToPrimitiveKind(shortList2.item(n3))) || s5 == 1 && s4 == 2 || s5 == 2 && s4 == 1); ++n3) {
                    }
                    if (n3 != n5) continue;
                    n = 1;
                    break;
                }
                n = 1;
                break;
            }
            if (n == 0) {
                StringBuffer stringBuffer = new StringBuffer();
                this.appendEnumString(stringBuffer);
                throw new InvalidDatatypeValueException("cvc-enumeration-valid", new Object[]{string, stringBuffer.toString()});
            }
        }
        if ((this.fFacetsDefined & 0x400) != 0 && (n = this.fDVs[this.fValidationDV].getFractionDigits(object)) > this.fFractionDigits) {
            throw new InvalidDatatypeValueException("cvc-fractionDigits-valid", new Object[]{string, Integer.toString(n), Integer.toString(this.fFractionDigits)});
        }
        if ((this.fFacetsDefined & 0x200) != 0 && (n = this.fDVs[this.fValidationDV].getTotalDigits(object)) > this.fTotalDigits) {
            throw new InvalidDatatypeValueException("cvc-totalDigits-valid", new Object[]{string, Integer.toString(n), Integer.toString(this.fTotalDigits)});
        }
        if ((this.fFacetsDefined & 0x20) != 0 && (n = this.fDVs[this.fValidationDV].compare(object, this.fMaxInclusive)) != -1 && n != 0) {
            throw new InvalidDatatypeValueException("cvc-maxInclusive-valid", new Object[]{string, this.fMaxInclusive, this.fTypeName});
        }
        if ((this.fFacetsDefined & 0x40) != 0 && (n = this.fDVs[this.fValidationDV].compare(object, this.fMaxExclusive)) != -1) {
            throw new InvalidDatatypeValueException("cvc-maxExclusive-valid", new Object[]{string, this.fMaxExclusive, this.fTypeName});
        }
        if ((this.fFacetsDefined & 0x100) != 0 && (n = this.fDVs[this.fValidationDV].compare(object, this.fMinInclusive)) != 1 && n != 0) {
            throw new InvalidDatatypeValueException("cvc-minInclusive-valid", new Object[]{string, this.fMinInclusive, this.fTypeName});
        }
        if ((this.fFacetsDefined & 0x80) != 0 && (n = this.fDVs[this.fValidationDV].compare(object, this.fMinExclusive)) != 1) {
            throw new InvalidDatatypeValueException("cvc-minExclusive-valid", new Object[]{string, this.fMinExclusive, this.fTypeName});
        }
    }
 -> java.lang.String.length(): int -> java.lang.Object.equals(java.lang.Object): boolean -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.StringBuffer.append(java.lang.Object): java.lang.StringBuffer -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.StringBuffer.toString(): java.lang.String
 [CALL] [CALL] -> java.lang.String.length(): int [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Object.equals(java.lang.Object): boolean [CALL] -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.StringBuffer.append(java.lang.Object): java.lang.StringBuffer -> java.lang.StringBuffer.append(char): java.lang.StringBuffer [EXIT] -> java.lang.StringBuffer.toString(): java.lang.String [CALL] [CALL] [EXIT] [EXIT] [EXIT]