示例#1
0
文件: idl.php 项目: afaltz/hhvm
function idl_format_cpp_header($header)
{
    global $preamble, $funcs, $constants, $classes, $PREFIX, $NAME;
    ($f = fopen($header, 'w')) || die("cannot open {$header}");
    fprintf($f, <<<EOT

#ifndef incl_{$PREFIX}_{$NAME}_H_
#define incl_{$PREFIX}_{$NAME}_H_

#include "hphp/runtime/base/base-includes.h"

EOT
);
    if (isset($preamble)) {
        fprintf($f, $preamble);
    }
    fprintf($f, <<<EOT

namespace HPHP {
///////////////////////////////////////////////////////////////////////////////


EOT
);
    foreach ($funcs as $func) {
        generateFuncCPPHeader($func, $f);
    }
    foreach ($constants as $const) {
        generateConstCPPHeader($const, $f);
    }
    foreach ($classes as $class) {
        generateClassCPPHeader($class, $f);
    }
    fprintf($f, <<<EOT

///////////////////////////////////////////////////////////////////////////////
}

#endif // incl_{$PREFIX}_{$NAME}_H_

EOT
);
    fclose($f);
}
示例#2
0
function generateMethodCPPHeader($method, $class, $f)
{
    global $MAGIC_METHODS;
    fprintf($f, "  public: ");
    generateFuncCPPHeader($method, $f, true, isset($MAGIC_METHODS[$method['name']]), $method['flags'] & IsStatic, $class);
    fprintf($f, "  DECLARE_METHOD_INVOKE_HELPERS(%s);\n", strtolower($method['name']));
    if ($method['name'] == "__call") {
        fprintf($f, "  public: Variant doCall(Variant v_name, ");
        fprintf($f, "Variant v_arguments, bool fatal);\n");
    }
}
示例#3
0
function generateMethodCPPHeader($method, $class, $f)
{
    if ($method['flags'] & IsPrivate) {
        $vis = "private";
    } else {
        if ($method['flags'] & IsProtected) {
            $vis = "protected";
        } else {
            $vis = "public";
        }
    }
    fprintf($f, "  %s: ", $vis);
    generateFuncCPPHeader($method, $f, true, $method['name'] != "__construct" && strpos($method['name'], "__") === 0, $method['flags'] & IsStatic, $class);
    if ($method['name'] == "__call") {
        fprintf($f, "  public: Variant doCall(Variant v_name, ");
        fprintf($f, "Variant v_arguments, bool fatal);\n");
    } else {
        if ($method['name'] == "__get") {
            fprintf($f, "  public: Variant doGet(Variant v_name, bool error);\n");
        }
    }
}
示例#4
0
function generateMethodCPPHeader($method, $class, $f)
{
    switch ($method['visibility']) {
        case PrivateMethod:
            $vis = "public";
            break;
        case ProtectedMethod:
            $vis = "protected";
            break;
        default:
            $vis = "public";
    }
    fprintf($f, "  %s: ", $vis);
    generateFuncCPPHeader($method, $f, true, $method['name'] != "__construct" && strpos($method['name'], "__") === 0, $method['static']);
    if ($method['name'] == "__call") {
        fprintf($f, "  public: Variant doCall(Variant v_name, Variant v_arguments," . " bool fatal);\n");
    } else {
        if ($method['name'] == "__get") {
            fprintf($f, "  public: Variant doGet(Variant v_name, bool error);\n");
        }
    }
}
示例#5
0
);
    if (isset($preamble)) {
        fprintf($f, $preamble);
    }
    fprintf($f, <<<EOT

#include <runtime/base/base_includes.h>

namespace HPHP {
///////////////////////////////////////////////////////////////////////////////


EOT
);
    foreach ($funcs as $func) {
        generateFuncCPPHeader($func, $f);
    }
    foreach ($constants as $const) {
        generateConstCPPHeader($const, $f);
    }
    foreach ($classes as $class) {
        generateClassCPPHeader($class, $f);
    }
    fprintf($f, <<<EOT

///////////////////////////////////////////////////////////////////////////////
}

#endif // __EXT_{$NAME}_H__

EOT
示例#6
0
function generateMethodCPPHeader($method, $class, $f)
{
    if ($method['flags'] & IsPrivate) {
        $vis = "private";
    } else {
        if ($method['flags'] & IsProtected) {
            $vis = "protected";
        } else {
            $vis = "public";
        }
    }
    fprintf($f, "  %s: ", $vis);
    generateFuncCPPHeader($method, $f, true, $method['name'] != "__construct" && strpos($method['name'], "__") === 0, $method['flags'] & IsStatic, $class);
    fprintf($f, "  DECLARE_METHOD_INVOKE_HELPERS(%s);\n", strtolower($method['name']));
    if ($method['name'] == "__call") {
        fprintf($f, "  public: Variant doCall(Variant v_name, ");
        fprintf($f, "Variant v_arguments, bool fatal);\n");
    }
}
示例#7
0
文件: base.php 项目: alphaxxl/hhvm
function generateMethodCPPHeader($method, $class, $f)
{
    global $MAGIC_METHODS;
    fprintf($f, "  public: ");
    generateFuncCPPHeader($method, $f, true, isset($MAGIC_METHODS[$method['name']]), $method['flags'] & IsStatic, $class);
}