Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

166 lines (148 sloc) 4.219 kb
<?php
/**
* Automatically generated by running "php schema.php xml".
*
* You may modify the file, but re-running schema.php against this file will
* standardize the format without losing your schema changes. It does lose
* any changes that are not part of schema. Use "note" field to comment on
* schema itself, and "note" fields are not used in any code generation but
* only staying within this file.
*/
///////////////////////////////////////////////////////////////////////////////
// Preamble: C++ code inserted at beginning of ext_{name}.h
DefinePreamble(<<<CPP
CPP
);
///////////////////////////////////////////////////////////////////////////////
// Constants
//
// array (
// 'name' => name of the constant
// 'type' => type of the constant
// 'note' => additional note about this constant's schema
// )
///////////////////////////////////////////////////////////////////////////////
// Functions
//
// array (
// 'name' => name of the function
// 'desc' => description of the function's purpose
// 'flags' => attributes of the function, see base.php for possible values
// 'opt' => optimization callback function's name for compiler
// 'note' => additional note about this function's schema
// 'return' =>
// array (
// 'type' => return type, use Reference for ref return
// 'desc' => description of the return value
// )
// 'args' => arguments
// array (
// 'name' => name of the argument
// 'type' => type of the argument, use Reference for output parameter
// 'value' => default value of the argument
// 'desc' => description of the argument
// )
// )
///////////////////////////////////////////////////////////////////////////////
// Classes
//
// BeginClass
// array (
// 'name' => name of the class
// 'desc' => description of the class's purpose
// 'flags' => attributes of the class, see base.php for possible values
// 'note' => additional note about this class's schema
// 'parent' => parent class name, if any
// 'ifaces' => array of interfaces tihs class implements
// 'bases' => extra internal and special base classes this class requires
// 'footer' => extra C++ inserted at end of class declaration
// )
//
// DefineConstant(..)
// DefineConstant(..)
// ...
// DefineFunction(..)
// DefineFunction(..)
// ...
// DefineProperty
// DefineProperty
//
// array (
// 'name' => name of the property
// 'type' => type of the property
// 'flags' => attributes of the property
// 'desc' => description of the property
// 'note' => additional note about this property's schema
// )
//
// EndClass()
BeginClass(
array(
'name' => 'Closure',
'footer' => <<<EOT
public:
/**
* Explicitly provide a t___invokeCallInfoHelper to
* allow __invoke() to sidestep an extra level of indirection
*/
virtual const CallInfo *t___invokeCallInfoHelper(void *&extra);
/**
* Used by HPHPI to make closures work
*/
void *extraData() const { return m_extraData; }
/**
* This is the constructor which is called internally-
* PHP code will never be able to call this constructor
*/
c_Closure(const CallInfo *callInfo, void *extraData,
const ObjectStaticCallbacks *cb = &cw_Closure) :
ExtObjectData(cb), m_callInfo(callInfo), m_extraData(extraData) {
ASSERT(callInfo);
}
protected:
virtual bool php_sleep(Variant &ret);
private:
const CallInfo *m_callInfo;
void *m_extraData;
EOT
,
)
);
DefineFunction(
array(
'name' => '__construct',
'args' => array(),
'return' => array(
'type' => null,
),
));
DefineFunction(
array(
'name' => '__invoke',
'flags' => VariableArguments,
'return' => array(
'type' => Variant,
),
));
DefineFunction(
array(
'name' => '__clone',
'return' => array(
'type' => Variant,
),
));
EndClass();
BeginClass(
array(
'name' => "DummyClosure",
'desc' => "Represents an invalid closure which will fatal when used.",
));
DefineFunction(
array(
'name' => '__construct',
'args' => array(),
'return' => array(
'type' => null,
),
));
EndClass();
Jump to Line
Something went wrong with that request. Please try again.