# List of PHP reserved keywords that must not be used within generated classes.
# If an element matched one of this reserved keywords, it is replaced by "_" + {reserved_keyword} + nb_used_times
# It includes the pre defined functions by PackageBase classes too.

reserved_keywords:
    case_sensitive:
        # constants
        - "PHP_VERSION"
        - "PHP_MAJOR_VERSION"
        - "PHP_MINOR_VERSION"
        - "PHP_RELEASE_VERSION"
        - "PHP_VERSION_ID"
        - "PHP_EXTRA_VERSION"
        - "PHP_ZTS"
        - "PHP_DEBUG"
        - "PHP_MAXPATHLEN"
        - "PHP_OS"
        - "PHP_SAPI"
        - "PHP_EOL"
        - "PHP_INT_MAX"
        - "PHP_INT_SIZE"
        - "DEFAULT_INCLUDE_PATH"
        - "PEAR_INSTALL_DIR"
        - "PEAR_EXTENSION_DIR"
        - "PHP_EXTENSION_DIR"
        - "PHP_PREFIX"
        - "PHP_BINDIR"
        - "PHP_BINARY"
        - "PHP_MANDIR"
        - "PHP_LIBDIR"
        - "PHP_DATADIR"
        - "PHP_SYSCONFDIR"
        - "PHP_LOCALSTATEDIR"
        - "PHP_CONFIG_FILE_PATH"
        - "PHP_CONFIG_FILE_SCAN_DIR"
        - "PHP_SHLIB_SUFFIX"
        - "E_ERROR"
        - "E_WARNING"
        - "E_PARSE"
        - "E_NOTICE"
        - "E_CORE_ERROR"
        - "E_CORE_WARNING"
        - "E_COMPILE_ERROR"
        - "E_COMPILE_WARNING"
        - "E_USER_ERROR"
        - "E_USER_WARNING"
        - "E_USER_NOTICE"
        - "E_DEPRECATED"
        - "E_USER_DEPRECATED"
        - "E_ALL"
        - "E_STRICT"
        - "__COMPILER_HALT_OFFSET__"
        - "TRUE"
        - "FALSE"
        - "NULL"
        - "__CLASS__"
        - "__DIR__"
        - "__FILE__"
        - "__FUNCTION__"
        - "__LINE__"
        - "__METHOD__"
        - "__NAMESPACE__"
        - "__TRAIT__"
    case_insensitive:
        # keywords
        - "__halt_compiler"
        - "abstract"
        - "and"
        - "array"
        - "as"
        - "break"
        - "callable"
        - "case"
        - "catch"
        - "class"
        - "clone"
        - "const"
        - "continue"
        - "declare"
        - "default"
        - "die"
        - "do"
        - "echo"
        - "else"
        - "elseif"
        - "empty"
        - "enddeclare"
        - "endfor"
        - "endforeach"
        - "endif"
        - "endswitch"
        - "endwhile"
        - "eval"
        - "exit"
        - "extends"
        - "final"
        - "finally"
        - "for"
        - "foreach"
        - "function"
        - "global"
        - "goto"
        - "if"
        - "implements"
        - "include"
        - "include_once"
        - "instanceof"
        - "insteadof"
        - "interface"
        - "isset"
        - "list"
        - "namespace"
        - "new"
        - "or"
        - "parent"
        - "print"
        - "private"
        - "protected"
        - "public"
        - "require"
        - "require_once"
        - "return"
        - "static"
        - "switch"
        - "throw"
        - "trait"
        - "try"
        - "unset"
        - "use"
        - "var"
        - "while"
        - "xor"
        - "yield"
        # magic methods
        - "__construct"
        - "__destruct"
        - "__call"
        - "__callStatic"
        - "__get"
        - "__set"
        - "__isset"
        - "__unset"
        - "__sleep"
        - "__wakeup"
        - "__toString"
        - "__invoke"
        - "__set_state"
        - "__clone"
        - "__debugInfo"
        # List of other reserved words from http://php.net/manual/en/reserved.other-reserved-words.php
        - "int"
        - "float"
        - "bool"
        - "string"
        - "true"
        - "false"
        - "null"
        - "void"
        - "iterable"
        - "object"
        - "resource"
        - "mixed"
        - "numeric"