Make sure we raise a warning in repo mode
Repo mode can skip undefined variable warnings, if they're known to be uninit at compile time, and eliminate expressions whose only side effect might be to raise a diagnostic.
Esse commit está contido em:
@@ -10,9 +10,9 @@ function error_handler() {
|
||||
set_error_handler('error_handler');
|
||||
|
||||
function unary_function($x) {
|
||||
// Cause an undefined variable warning, and throw from the user
|
||||
// error handler.
|
||||
$x = $z;
|
||||
// Raise a warning and throw from
|
||||
// the user error handler.
|
||||
return UNDEFINED === $x;
|
||||
}
|
||||
|
||||
function binary_function($x, $y) {}
|
||||
|
||||
@@ -8,6 +8,6 @@ type Foo = MyClass;
|
||||
function test(): void {
|
||||
// error: making a new type name doesn't make it available outside
|
||||
// of type expressions (parameter lists, etc).
|
||||
$x = Foo::ASD;
|
||||
return Foo::ASD;
|
||||
}
|
||||
test();
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
<?php
|
||||
function foo() {
|
||||
$a = $b;
|
||||
if (isset($GLOBALS['b'])) $b = 0;
|
||||
return $b;
|
||||
}
|
||||
foo();
|
||||
|
||||
function baz($x) {}
|
||||
function bar() {
|
||||
if (isset($GLOBALS['a'])) $a = 0;
|
||||
baz($a);
|
||||
}
|
||||
bar();
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
HipHop Notice: Undefined variable: b in %s on line 3
|
||||
HipHop Notice: Undefined variable: a in %s on line 9
|
||||
HipHop Notice: Undefined variable: b in %s on line 4
|
||||
HipHop Notice: Undefined variable: a in %s on line 11
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
<?php
|
||||
|
||||
function foo() {
|
||||
echo "set: " . isset($a) . "\n";
|
||||
echo "nul: " . is_null($a) . "\n";
|
||||
echo "str: " . is_string($a) . "\n";
|
||||
echo "obj: " . is_object($a) . "\n";
|
||||
echo "arr: " . is_array($a) . "\n";
|
||||
echo "int: " . is_int($a) . "\n";
|
||||
echo "integer: " . is_integer($a) . "\n";
|
||||
echo "long: " . is_long($a) . "\n";
|
||||
echo "real: " . is_real($a) . "\n";
|
||||
echo "double: " . is_double($a) . "\n";
|
||||
echo "float: " . is_float($a) . "\n";
|
||||
echo "bool: " . is_bool($a) . "\n";
|
||||
if (isset($GLOBALS['a'])) $a = 1;
|
||||
echo "set: ", isset($a) . "\n";
|
||||
echo "nul: ", is_null($a) . "\n";
|
||||
echo "str: ", is_string($a) . "\n";
|
||||
echo "obj: ", is_object($a) . "\n";
|
||||
echo "arr: ", is_array($a) . "\n";
|
||||
echo "int: ", is_int($a) . "\n";
|
||||
echo "integer: ", is_integer($a) . "\n";
|
||||
echo "long: ", is_long($a) . "\n";
|
||||
echo "real: ", is_real($a) . "\n";
|
||||
echo "double: ", is_double($a) . "\n";
|
||||
echo "float: ", is_float($a) . "\n";
|
||||
echo "bool: ", is_bool($a) . "\n";
|
||||
}
|
||||
|
||||
foo();
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
set:
|
||||
HipHop Notice: Undefined variable: a in %s on line 5
|
||||
nul: 1
|
||||
HipHop Notice: Undefined variable: a in %s on line 6
|
||||
str:
|
||||
HipHop Notice: Undefined variable: a in %s on line 7
|
||||
obj:
|
||||
HipHop Notice: Undefined variable: a in %s on line 8
|
||||
arr:
|
||||
HipHop Notice: Undefined variable: a in %s on line 9
|
||||
int:
|
||||
HipHop Notice: Undefined variable: a in %s on line 10
|
||||
integer:
|
||||
HipHop Notice: Undefined variable: a in %s on line 11
|
||||
long:
|
||||
HipHop Notice: Undefined variable: a in %s on line 12
|
||||
real:
|
||||
HipHop Notice: Undefined variable: a in %s on line 13
|
||||
double:
|
||||
HipHop Notice: Undefined variable: a in %s on line 14
|
||||
float:
|
||||
HipHop Notice: Undefined variable: a in %s on line 15
|
||||
bool:
|
||||
nul: HipHop Notice: Undefined variable: a in %s on line 6
|
||||
1
|
||||
str: HipHop Notice: Undefined variable: a in %s on line 7
|
||||
|
||||
obj: HipHop Notice: Undefined variable: a in %s on line 8
|
||||
|
||||
arr: HipHop Notice: Undefined variable: a in %s on line 9
|
||||
|
||||
int: HipHop Notice: Undefined variable: a in %s on line 10
|
||||
|
||||
integer: HipHop Notice: Undefined variable: a in %s on line 11
|
||||
|
||||
long: HipHop Notice: Undefined variable: a in %s on line 12
|
||||
|
||||
real: HipHop Notice: Undefined variable: a in %s on line 13
|
||||
|
||||
double: HipHop Notice: Undefined variable: a in %s on line 14
|
||||
|
||||
float: HipHop Notice: Undefined variable: a in %s on line 15
|
||||
|
||||
bool: HipHop Notice: Undefined variable: a in %s on line 16
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
function foo() {
|
||||
$x = 'c';
|
||||
$$x = "haha";
|
||||
echo "value: " . $$x . "\n";
|
||||
echo "value: ", $$x . "\n";
|
||||
unset($$x);
|
||||
echo "value: " . $$x . "\n";
|
||||
echo "value: ", $$x . "\n";
|
||||
}
|
||||
|
||||
foo();
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
value: haha
|
||||
HipHop Notice: Undefined variable: c in %s on line 8
|
||||
value:
|
||||
value: HipHop Notice: Undefined variable: c in %s on line 8
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário