src/aria/core/JsonTypesCheck.js
function (beanDef, beanName, packageDef) {
        var keyType = beanDef.$keyType;
        var parentKeyType = null;
        var parent = beanDef[jv._MD_PARENTDEF];
        if (!parent[jv._MD_BUILTIN]) {
            parentKeyType = parent.$keyType;
            if (keyType == null) {
                beanDef.$keyType = parentKeyType;
                return;
            }
        } else if (keyType == null) {
            // keyType not specified
            return;
        }
        jv._preprocessBean(keyType, beanName + ".$keyType", packageDef);
        if (parentKeyType != null) {
            __checkInheritance(parentKeyType, keyType);
        }
        // in all cases, keyType must be a sub-type of aria.core.JsonTypes.String
        if (keyType[jv._MD_BASETYPE].typeName != "String") {
            jv._logError(jv.INHERITANCE_EXPECTED, [keyType[jv._MD_TYPENAME], jv._BASE_TYPES_PACKAGE + ".String"]);
            return;
        }
    }
function (beanDef, beanName, packageDef) {
        var keyType = beanDef.$keyType;
        var parentKeyType = null;
        var parent = beanDef[jv._MD_PARENTDEF];
        if (!parent[jv._MD_BUILTIN]) {
            parentKeyType = parent.$keyType;
            if (keyType == null) {
                beanDef.$keyType = parentKeyType;
                return;
            }
        } else if (keyType == null) {
            // keyType not specified
            return;
        }
        jv._preprocessBean(keyType, beanName + ".$keyType", packageDef);
        if (parentKeyType != null) {
            __checkInheritance(parentKeyType, keyType);
        }
        // in all cases, keyType must be a sub-type of aria.core.JsonTypes.String
        if (keyType[jv._MD_BASETYPE].typeName != "String") {
            jv._logError(jv.INHERITANCE_EXPECTED, [keyType[jv._MD_TYPENAME], jv._BASE_TYPES_PACKAGE + ".String"]);
            return;
        }
    }
function ( beanDef , beanName , packageDef ) { var keyType = beanDef . $keyType ; var parentKeyType = null ; var parent = beanDef [ jv . _MD_PARENTDEF ] ; if ( ! parent [ jv . _MD_BUILTIN ] ) { parentKeyType = parent . $keyType ; if ( keyType == null ) { beanDef . $keyType = parentKeyType ; return ; } } else if ( keyType == null ) { // keyType not specified return ; } jv . _preprocessBean ( keyType , beanName + ".$keyType" , packageDef ) ; if ( parentKeyType != null ) { __checkInheritance ( parentKeyType , keyType ) ; } // in all cases, keyType must be a sub-type of aria.core.JsonTypes.String if ( keyType [ jv . _MD_BASETYPE ] . typeName != "String" ) { jv . _logError ( jv . INHERITANCE_EXPECTED , [ keyType [ jv . _MD_TYPENAME ] , jv . _BASE_TYPES_PACKAGE + ".String" ] ) ; return ; } }
Preprocess the key type of the given bean definition
@private
@param {aria.core.BaseTypes:Bean} beanDef bean to be preprocessed
@param {String} beanName fully qualified name for this bean
@param {aria.core.BaseTypes:Package} packageDef reference package
Preprocess the key type of the given bean definition