mirror of
https://github.com/danog/PHP-Parser.git
synced 2024-12-02 17:28:27 +01:00
4dbf067b4b
Originally wanted to simplify the pretty-printer output, but ... edge cases everywhere :/
152 lines
1.6 KiB
Plaintext
152 lines
1.6 KiB
Plaintext
Literals
|
|
-----
|
|
<?php
|
|
|
|
// magic constants
|
|
__LINE__;
|
|
__FILE__;
|
|
__DIR__;
|
|
__FUNCTION__;
|
|
__CLASS__;
|
|
__TRAIT__;
|
|
__METHOD__;
|
|
__NAMESPACE__;
|
|
|
|
// not actually literals, but close
|
|
null;
|
|
true;
|
|
false;
|
|
NULL;
|
|
TRUE;
|
|
FALSE;
|
|
|
|
// integers (normalized to decimal)
|
|
0;
|
|
11;
|
|
011;
|
|
0x11;
|
|
0b11;
|
|
|
|
// floats (normalized to ... something)
|
|
0.;
|
|
.0;
|
|
0.0;
|
|
0e1000;
|
|
1.0;
|
|
1e100;
|
|
1e1000;
|
|
1E-100;
|
|
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
// strings (normalized to single quoted)
|
|
'a';
|
|
'a
|
|
b';
|
|
"a";
|
|
"a\nb";
|
|
'a\'b';
|
|
"a'b";
|
|
"a\b";
|
|
<<<'STR'
|
|
a\nb$a
|
|
{$b}
|
|
STR;
|
|
|
|
// strings (normalized to double quoted)
|
|
"$a";
|
|
"a$b";
|
|
"$a$b";
|
|
"$a $b";
|
|
"a${b}c";
|
|
"a{$b}c";
|
|
"a$a[b]c";
|
|
"\{$A}";
|
|
"\{ $A }";
|
|
"\\{$A}";
|
|
"\\{ $A }";
|
|
"{$$A}[B]";
|
|
"$$A[B]";
|
|
<<<STR
|
|
a\nb$a\n{$b}
|
|
STR;
|
|
|
|
// make sure indentation doesn't mess anything up
|
|
function foo()
|
|
{
|
|
"a\nb";
|
|
'a
|
|
b';
|
|
'a
|
|
b';
|
|
}
|
|
-----
|
|
// magic constants
|
|
__LINE__;
|
|
__FILE__;
|
|
__DIR__;
|
|
__FUNCTION__;
|
|
__CLASS__;
|
|
__TRAIT__;
|
|
__METHOD__;
|
|
__NAMESPACE__;
|
|
// not actually literals, but close
|
|
null;
|
|
true;
|
|
false;
|
|
NULL;
|
|
TRUE;
|
|
FALSE;
|
|
// integers (normalized to decimal)
|
|
0;
|
|
11;
|
|
9;
|
|
17;
|
|
3;
|
|
// floats (normalized to ... something)
|
|
0.0;
|
|
0.0;
|
|
0.0;
|
|
0.0;
|
|
1.0;
|
|
1.0E+100;
|
|
INF;
|
|
1.0E-100;
|
|
1.0E+84;
|
|
// strings (normalized to single quoted)
|
|
'a';
|
|
'a
|
|
b';
|
|
'a';
|
|
'a
|
|
b';
|
|
'a\'b';
|
|
'a\'b';
|
|
'a\\b';
|
|
'a\\nb$a
|
|
{$b}';
|
|
// strings (normalized to double quoted)
|
|
"{$a}";
|
|
"a{$b}";
|
|
"{$a}{$b}";
|
|
"{$a} {$b}";
|
|
"a{$b}c";
|
|
"a{$b}c";
|
|
"a{$a['b']}c";
|
|
"\\{{$A}}";
|
|
"\\{ {$A} }";
|
|
"\\{$A}";
|
|
"\\{ {$A} }";
|
|
"{${$A}}[B]";
|
|
"\${$A['B']}";
|
|
"a\nb{$a}\n{$b}";
|
|
// make sure indentation doesn't mess anything up
|
|
function foo()
|
|
{
|
|
'a
|
|
b';
|
|
'a
|
|
b';
|
|
'a
|
|
b';
|
|
}
|