/usr/include/hphp/system/systemlib.h is in hhvm-dev 3.11.1+dfsg-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | /*
+----------------------------------------------------------------------+
| HipHop for PHP |
+----------------------------------------------------------------------+
| Copyright (c) 2010-2015 Facebook, Inc. (http://www.facebook.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
*/
#ifndef incl_HPHP_SYSTEMLIB_H_
#define incl_HPHP_SYSTEMLIB_H_
#include "hphp/runtime/base/types.h"
#include "hphp/util/portability.h"
namespace HPHP {
class ObjectData;
class Unit;
class Class;
class Func;
class Object;
} //namespace HPHP
namespace HPHP { namespace SystemLib {
///////////////////////////////////////////////////////////////////////////////
#define SYSTEMLIB_CLASSES(x) \
x(stdclass) \
x(Exception) \
x(BadMethodCallException) \
x(InvalidArgumentException) \
x(RuntimeException) \
x(OutOfBoundsException) \
x(InvalidOperationException) \
x(pinitSentinel) \
x(resource) \
x(Directory) \
x(SplFileInfo) \
x(SplFileObject) \
x(DateTimeInterface) \
x(DateTimeImmutable) \
x(DOMException) \
x(PDOException) \
x(SoapFault) \
x(Closure) \
x(Serializable) \
x(ArrayAccess) \
x(ArrayObject) \
x(ArrayIterator) \
x(Iterator) \
x(IteratorAggregate) \
x(Traversable) \
x(Countable) \
x(LazyKVZipIterable) \
x(LazyIterableView) \
x(LazyKeyedIterableView) \
x(Phar) \
x(CURLFile) \
x(__PHP_Incomplete_Class) \
x(APCIterator)
extern bool s_inited;
extern bool s_anyNonPersistentBuiltins;
extern std::string s_source;
extern Unit* s_unit;
extern Unit* s_hhas_unit;
extern Unit* s_nativeFuncUnit;
extern Unit* s_nativeClassUnit;
extern Func* s_nullFunc;
#define DECLARE_SYSTEMLIB_CLASS(cls) \
extern Class* s_ ## cls ## Class;
SYSTEMLIB_CLASSES(DECLARE_SYSTEMLIB_CLASS)
#undef DECLARE_SYSTEMLIB_CLASS
extern Class* s_ThrowableClass;
extern Class* s_BaseExceptionClass;
extern Class* s_ErrorClass;
extern Class* s_ArithmeticErrorClass;
extern Class* s_AssertionErrorClass;
extern Class* s_DivisionByZeroErrorClass;
extern Class* s_ParseErrorClass;
extern Class* s_TypeErrorClass;
Object AllocStdClassObject();
Object AllocPinitSentinel();
Object AllocExceptionObject(const Variant& message);
Object AllocErrorObject(const Variant& message);
Object AllocArithmeticErrorObject(const Variant& message);
Object AllocDivisionByZeroErrorObject(const Variant& message);
Object AllocParseErrorObject(const Variant& message);
Object AllocTypeErrorObject(const Variant& message);
Object AllocBadMethodCallExceptionObject(const Variant& message);
Object AllocInvalidArgumentExceptionObject(const Variant& message);
Object AllocRuntimeExceptionObject(const Variant& message);
Object AllocOutOfBoundsExceptionObject(const Variant& message);
Object AllocInvalidOperationExceptionObject(const Variant& message);
Object AllocDOMExceptionObject(const Variant& message,
const Variant& code);
Object AllocDirectoryObject();
Object AllocPDOExceptionObject();
Object AllocSoapFaultObject(const Variant& code,
const Variant& message,
const Variant& actor = null_variant,
const Variant& detail = null_variant,
const Variant& name = null_variant,
const Variant& header = null_variant);
Object AllocLazyKVZipIterableObject(const Variant& mp);
Object AllocLazyIterableViewObject(const Variant& iterable);
Object AllocLazyKeyedIterableViewObject(const Variant& iterable);
ATTRIBUTE_NORETURN void throwExceptionObject(const Variant& message);
ATTRIBUTE_NORETURN void throwErrorObject(const Variant& message);
ATTRIBUTE_NORETURN void throwArithmeticErrorObject(const Variant& message);
ATTRIBUTE_NORETURN void throwDivisionByZeroErrorObject(const Variant& message);
ATTRIBUTE_NORETURN void throwParseErrorObject(const Variant& message);
ATTRIBUTE_NORETURN void throwTypeErrorObject(const Variant& message);
ATTRIBUTE_NORETURN
void throwBadMethodCallExceptionObject(const Variant& message);
ATTRIBUTE_NORETURN
void throwInvalidArgumentExceptionObject(const Variant& message);
ATTRIBUTE_NORETURN void throwRuntimeExceptionObject(const Variant& message);
ATTRIBUTE_NORETURN void throwOutOfBoundsExceptionObject(const Variant& message);
ATTRIBUTE_NORETURN
void throwInvalidOperationExceptionObject(const Variant& message);
ATTRIBUTE_NORETURN
void throwDOMExceptionObject(const Variant& message,
const Variant& code);
ATTRIBUTE_NORETURN
void throwSoapFaultObject(const Variant& code,
const Variant& message,
const Variant& actor = null_variant,
const Variant& detail = null_variant,
const Variant& name = null_variant,
const Variant& header = null_variant);
/**
* Register a persistent unit to be re-merged (in non-repo mode)
*/
void addPersistentUnit(Unit* unit);
/**
* Re-merge all persistent units
*/
void mergePersistentUnits();
///////////////////////////////////////////////////////////////////////////////
}} // namespace HPHP::SystemLib
#endif
|