Fix issue with XHP and keywords

Esse commit está contido em:
Drew Paroski
2013-06-05 21:44:36 -07:00
commit de Sara Golemon
commit 9b95c48416
6 arquivos alterados com 1699 adições e 1492 exclusões
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+87
Ver Arquivo
@@ -0,0 +1,87 @@
<?php
class :foo {
attribute enum { 'bar', 'baz' } echo;
attribute enum { 'bar', 'baz' } print;
attribute enum { 'bar', 'baz' } and;
attribute enum { 'bar', 'baz' } or;
attribute enum { 'bar', 'baz' } xor;
attribute enum { 'bar', 'baz' } array;
attribute enum { 'bar', 'baz' } list;
attribute enum { 'bar', 'baz' } function;
attribute enum { 'bar', 'baz' } class;
attribute enum { 'bar', 'baz' } interface;
attribute enum { 'bar', 'baz' } trait;
attribute enum { 'bar', 'baz' } namespace;
attribute enum { 'bar', 'baz' } require;
attribute enum { 'bar', 'baz' } require_once;
attribute enum { 'bar', 'baz' } include;
attribute enum { 'bar', 'baz' } include_once;
attribute enum { 'bar', 'baz' } eval;
attribute enum { 'bar', 'baz' } isset;
attribute enum { 'bar', 'baz' } empty;
attribute enum { 'bar', 'baz' } unset;
attribute enum { 'bar', 'baz' } global;
attribute enum { 'bar', 'baz' } static;
attribute enum { 'bar', 'baz' } public;
attribute enum { 'bar', 'baz' } protected;
attribute enum { 'bar', 'baz' } private;
attribute enum { 'bar', 'baz' } var;
attribute enum { 'bar', 'baz' } const;
attribute enum { 'bar', 'baz' } abstract;
attribute enum { 'bar', 'baz' } final;
attribute enum { 'bar', 'baz' } new;
attribute enum { 'bar', 'baz' } instanceof;
attribute enum { 'bar', 'baz' } clone;
attribute enum { 'bar', 'baz' } if;
attribute enum { 'bar', 'baz' } else;
attribute enum { 'bar', 'baz' } elseif;
attribute enum { 'bar', 'baz' } endif;
attribute enum { 'bar', 'baz' } for;
attribute enum { 'bar', 'baz' } endfor;
attribute enum { 'bar', 'baz' } foreach;
attribute enum { 'bar', 'baz' } endforeach;
attribute enum { 'bar', 'baz' } while;
attribute enum { 'bar', 'baz' } endwhile;
attribute enum { 'bar', 'baz' } do;
attribute enum { 'bar', 'baz' } break;
attribute enum { 'bar', 'baz' } continue;
attribute enum { 'bar', 'baz' } switch;
attribute enum { 'bar', 'baz' } endswitch;
attribute enum { 'bar', 'baz' } case;
attribute enum { 'bar', 'baz' } default;
attribute enum { 'bar', 'baz' } goto;
attribute enum { 'bar', 'baz' } exit;
attribute enum { 'bar', 'baz' } die;
attribute enum { 'bar', 'baz' } return;
attribute enum { 'bar', 'baz' } yield;
attribute enum { 'bar', 'baz' } throw;
attribute enum { 'bar', 'baz' } try;
attribute enum { 'bar', 'baz' } catch;
attribute enum { 'bar', 'baz' } finally;
attribute enum { 'bar', 'baz' } declare;
attribute enum { 'bar', 'baz' } enddeclare;
attribute enum { 'bar', 'baz' } implements;
attribute enum { 'bar', 'baz' } extends;
attribute enum { 'bar', 'baz' } use;
attribute enum { 'bar', 'baz' } as;
attribute enum { 'bar', 'baz' } insteadof;
attribute enum { 'bar', 'baz' } __FUNCTION__;
attribute enum { 'bar', 'baz' } __METHOD__;
attribute enum { 'bar', 'baz' } __CLASS__;
attribute enum { 'bar', 'baz' } __TRAIT__;
attribute enum { 'bar', 'baz' } __NAMESPACE__;
attribute enum { 'bar', 'baz' } __LINE__;
attribute enum { 'bar', 'baz' } __FILE__;
attribute enum { 'bar', 'baz' } __DIR__;
attribute enum { 'bar', 'baz' } __halt_compiler;
attribute enum { 'bar', 'baz' } __compiler_halt_offset__;
attribute enum { 'bar', 'baz' } attribute;
attribute enum { 'bar', 'baz' } category;
attribute enum { 'bar', 'baz' } children;
attribute enum { 'bar', 'baz' } required;
attribute enum { 'bar', 'baz' } enum;
attribute enum { 'bar', 'baz' } type;
attribute enum { 'bar', 'baz' } newtype;
attribute enum { 'bar', 'baz' } shape;
}
echo "Done\n";
@@ -0,0 +1 @@
Done
+87
Ver Arquivo
@@ -0,0 +1,87 @@
<?hh
class :foo {
attribute enum { 'bar', 'baz' } echo;
attribute enum { 'bar', 'baz' } print;
attribute enum { 'bar', 'baz' } and;
attribute enum { 'bar', 'baz' } or;
attribute enum { 'bar', 'baz' } xor;
attribute enum { 'bar', 'baz' } array;
attribute enum { 'bar', 'baz' } list;
attribute enum { 'bar', 'baz' } function;
attribute enum { 'bar', 'baz' } class;
attribute enum { 'bar', 'baz' } interface;
attribute enum { 'bar', 'baz' } trait;
attribute enum { 'bar', 'baz' } namespace;
attribute enum { 'bar', 'baz' } require;
attribute enum { 'bar', 'baz' } require_once;
attribute enum { 'bar', 'baz' } include;
attribute enum { 'bar', 'baz' } include_once;
attribute enum { 'bar', 'baz' } eval;
attribute enum { 'bar', 'baz' } isset;
attribute enum { 'bar', 'baz' } empty;
attribute enum { 'bar', 'baz' } unset;
attribute enum { 'bar', 'baz' } global;
attribute enum { 'bar', 'baz' } static;
attribute enum { 'bar', 'baz' } public;
attribute enum { 'bar', 'baz' } protected;
attribute enum { 'bar', 'baz' } private;
attribute enum { 'bar', 'baz' } var;
attribute enum { 'bar', 'baz' } const;
attribute enum { 'bar', 'baz' } abstract;
attribute enum { 'bar', 'baz' } final;
attribute enum { 'bar', 'baz' } new;
attribute enum { 'bar', 'baz' } instanceof;
attribute enum { 'bar', 'baz' } clone;
attribute enum { 'bar', 'baz' } if;
attribute enum { 'bar', 'baz' } else;
attribute enum { 'bar', 'baz' } elseif;
attribute enum { 'bar', 'baz' } endif;
attribute enum { 'bar', 'baz' } for;
attribute enum { 'bar', 'baz' } endfor;
attribute enum { 'bar', 'baz' } foreach;
attribute enum { 'bar', 'baz' } endforeach;
attribute enum { 'bar', 'baz' } while;
attribute enum { 'bar', 'baz' } endwhile;
attribute enum { 'bar', 'baz' } do;
attribute enum { 'bar', 'baz' } break;
attribute enum { 'bar', 'baz' } continue;
attribute enum { 'bar', 'baz' } switch;
attribute enum { 'bar', 'baz' } endswitch;
attribute enum { 'bar', 'baz' } case;
attribute enum { 'bar', 'baz' } default;
attribute enum { 'bar', 'baz' } goto;
attribute enum { 'bar', 'baz' } exit;
attribute enum { 'bar', 'baz' } die;
attribute enum { 'bar', 'baz' } return;
attribute enum { 'bar', 'baz' } yield;
attribute enum { 'bar', 'baz' } throw;
attribute enum { 'bar', 'baz' } try;
attribute enum { 'bar', 'baz' } catch;
attribute enum { 'bar', 'baz' } finally;
attribute enum { 'bar', 'baz' } declare;
attribute enum { 'bar', 'baz' } enddeclare;
attribute enum { 'bar', 'baz' } implements;
attribute enum { 'bar', 'baz' } extends;
attribute enum { 'bar', 'baz' } use;
attribute enum { 'bar', 'baz' } as;
attribute enum { 'bar', 'baz' } insteadof;
attribute enum { 'bar', 'baz' } __FUNCTION__;
attribute enum { 'bar', 'baz' } __METHOD__;
attribute enum { 'bar', 'baz' } __CLASS__;
attribute enum { 'bar', 'baz' } __TRAIT__;
attribute enum { 'bar', 'baz' } __NAMESPACE__;
attribute enum { 'bar', 'baz' } __LINE__;
attribute enum { 'bar', 'baz' } __FILE__;
attribute enum { 'bar', 'baz' } __DIR__;
attribute enum { 'bar', 'baz' } __halt_compiler;
attribute enum { 'bar', 'baz' } __compiler_halt_offset__;
attribute enum { 'bar', 'baz' } attribute;
attribute enum { 'bar', 'baz' } category;
attribute enum { 'bar', 'baz' } children;
attribute enum { 'bar', 'baz' } required;
attribute enum { 'bar', 'baz' } enum;
attribute enum { 'bar', 'baz' } type;
attribute enum { 'bar', 'baz' } newtype;
attribute enum { 'bar', 'baz' } shape;
}
echo "Done\n";
@@ -0,0 +1 @@
Done
+2
Ver Arquivo
@@ -1854,7 +1854,9 @@ xhp_bareword:
| T_COMPILER_HALT_OFFSET { $$ = $1;}
| T_TRAIT { $$ = $1;}
| T_TRAIT_C { $$ = $1;}
| T_INSTEADOF { $$ = $1;}
| T_TYPE { $$ = $1;}
| T_SHAPE { $$ = $1;}
;
simple_function_call: