Merge branch 'master' into gsoc2017-php7-classes-via-c-api
This commit is contained in:
commit
8ded9d8dae
1906 changed files with 50934 additions and 30001 deletions
|
|
@ -1,5 +1,16 @@
|
|||
<?php
|
||||
|
||||
function die_on_error($errno, $errstr, $file, $line) {
|
||||
if ($file !== Null) {
|
||||
print $file;
|
||||
if ($line !== Null) print ":$line";
|
||||
print ": ";
|
||||
}
|
||||
print "$errstr\n";
|
||||
exit(1);
|
||||
}
|
||||
set_error_handler("die_on_error", -1);
|
||||
|
||||
$_original_functions=get_defined_functions();
|
||||
$_original_globals=1;
|
||||
$_original_classes=get_declared_classes();
|
||||
|
|
@ -10,7 +21,7 @@ class check {
|
|||
// Used to filter out get/set global functions to fake vars...
|
||||
const GETSET = 1;
|
||||
|
||||
function get_extra_classes($ref=FALSE) {
|
||||
static function get_extra_classes($ref=FALSE) {
|
||||
static $extra;
|
||||
global $_original_classes;
|
||||
if ($ref===FALSE) $f=$_original_classes;
|
||||
|
|
@ -22,7 +33,7 @@ class check {
|
|||
return $extra;
|
||||
}
|
||||
|
||||
function get_extra_functions($ref=FALSE,$gs=false) {
|
||||
static function get_extra_functions($ref=FALSE,$gs=false) {
|
||||
static $extra;
|
||||
static $extrags; // for get/setters
|
||||
global $_original_functions;
|
||||
|
|
@ -46,7 +57,7 @@ class check {
|
|||
return $extra;
|
||||
}
|
||||
|
||||
function get_extra_globals($ref=FALSE) {
|
||||
static function get_extra_globals($ref=FALSE) {
|
||||
static $extra;
|
||||
global $_original_globals;
|
||||
if (! is_array($extra)) {
|
||||
|
|
@ -72,17 +83,18 @@ class check {
|
|||
return $extra;
|
||||
}
|
||||
|
||||
function classname($string,$object) {
|
||||
static function classname($string,$object) {
|
||||
if (!is_object($object))
|
||||
return check::fail("The second argument is a " . gettype($object) . ", not an object.");
|
||||
if (strtolower($string)!=strtolower($classname=get_class($object))) return check::fail("Object: \$object is of class %s not class %s",$classname,$string);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function classmethods($classname,$methods) {
|
||||
static function classmethods($classname,$methods) {
|
||||
return TRUE;
|
||||
if (is_object($classname)) $classname=get_class($classname);
|
||||
$classmethods=array_flip(get_class_methods($classname));
|
||||
$message=NULL;
|
||||
$missing=array();
|
||||
$extra=array();
|
||||
foreach($methods as $method) {
|
||||
|
|
@ -99,19 +111,19 @@ class check {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
function set($var,$value) {
|
||||
static function set($var,$value) {
|
||||
$func=$var."_set";
|
||||
if (self::GETSET) $func($value);
|
||||
else $_GLOBALS[$var]=$value;
|
||||
}
|
||||
|
||||
function &get($var) {
|
||||
static function get($var) {
|
||||
$func=$var."_get";
|
||||
if (self::GETSET) return $func();
|
||||
else return $_GLOBALS[$var];
|
||||
}
|
||||
|
||||
function is_a($a,$b) {
|
||||
static function is_a($a,$b) {
|
||||
if (is_object($a)) $a=strtolower(get_class($a));
|
||||
if (is_object($b)) $a=strtolower(get_class($b));
|
||||
$parents=array();
|
||||
|
|
@ -120,11 +132,11 @@ class check {
|
|||
$parents[]=$c;
|
||||
$c=strtolower(get_parent_class($c));
|
||||
}
|
||||
if ($c!=$b) return check::fail("Class $a does not inherit from class $b\nHierachy:\n %s\n",join("\n ",$parents));
|
||||
if ($c!=$b) return check::fail("Class $a does not inherit from class $b\nHierarchy:\n %s\n",join("\n ",$parents));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function classparent($a,$b) {
|
||||
static function classparent($a,$b) {
|
||||
if (is_object($a)) $a=get_class($a);
|
||||
if (is_object($b)) $a=get_class($b);
|
||||
$parent=get_parent_class($a);
|
||||
|
|
@ -133,7 +145,7 @@ class check {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
function classes($classes) {
|
||||
static function classes($classes) {
|
||||
return TRUE;
|
||||
if (! is_array($classes)) $classes=array($classes);
|
||||
$message=array();
|
||||
|
|
@ -150,7 +162,7 @@ class check {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
function functions($functions) {
|
||||
static function functions($functions) {
|
||||
return TRUE;
|
||||
if (! is_array($functions)) $functions=array($functions);
|
||||
$message=array();
|
||||
|
|
@ -168,7 +180,7 @@ class check {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
function globals($globals) {
|
||||
static function globals($globals) {
|
||||
if (! is_array($globals)) $globals=array($globals);
|
||||
$message=array();
|
||||
$missing=array();
|
||||
|
|
@ -190,30 +202,30 @@ class check {
|
|||
|
||||
}
|
||||
|
||||
function functionref($a,$type,$message) {
|
||||
static function functionref($a,$type,$message) {
|
||||
if (! preg_match("/^_[a-f0-9]+$type$/i", $a))
|
||||
return check::fail($message);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function equal($a,$b,$message) {
|
||||
static function equal($a,$b,$message) {
|
||||
if (! ($a===$b)) return check::fail($message . ": '$a'!=='$b'");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function resource($a,$b,$message) {
|
||||
static function resource($a,$b,$message) {
|
||||
$resource=trim(check::var_dump($a));
|
||||
if (! preg_match("/^resource\([0-9]+\) of type \($b\)/i", $resource))
|
||||
return check::fail($message);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
function isnull($a,$message) {
|
||||
static function isnull($a,$message) {
|
||||
$value=trim(check::var_dump($a));
|
||||
return check::equal($value,"NULL",$message);
|
||||
}
|
||||
|
||||
function var_dump($arg) {
|
||||
static function var_dump($arg) {
|
||||
ob_start();
|
||||
var_dump($arg);
|
||||
$result=ob_get_contents();
|
||||
|
|
@ -221,20 +233,19 @@ class check {
|
|||
return $result;
|
||||
}
|
||||
|
||||
function fail($pattern) {
|
||||
static function fail($pattern) {
|
||||
$args=func_get_args();
|
||||
print("Failed on: ".call_user_func_array("sprintf",$args)."\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
function warn($pattern) {
|
||||
static function warn($pattern) {
|
||||
$args=func_get_args();
|
||||
print("Warning on: ".call_user_func_array("sprintf",$args)."\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
function done() {
|
||||
static function done() {
|
||||
# print $_SERVER[argv][0]." ok\n";
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue