Create `App.use(xx)` using extension statement

@inner
@param {Object} t the babel type definition
@param {string} calleeName the callee name
@param {string} extendName the extension name
@param {boolean=} hasPluginOpt whether has extension plugin options
@return {Object}
function createFrameworkExtendCallExpression(t, calleeName, extendName, hasPluginOpt) {
    let args = [t.identifier(extendName)];

    if (hasPluginOpt) {
        args.push(t.objectExpression([]));
    }

    return t.expressionStatement(
        t.callExpression(
            t.memberExpression(
                t.identifier(calleeName),
                t.identifier('use')
            ),
            args
        )
    );
}