├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── Makefile-parser-targets.frag ├── PHPDoc_Bison_Compiler.cc ├── PHPDoc_Bison_Compiler.h ├── PHPDoc_Compiler.h ├── README.md ├── augmented_annotation_compiler.cc ├── augmented_annotation_compiler.h ├── augmented_types.cc ├── augmented_types_module.cc ├── augmented_types_module.h ├── augmented_util.cc ├── augmented_util.h ├── config.m4 ├── docs └── stubs │ └── augmented_types.php ├── misc └── generate.php ├── php_augmented_types.h ├── phpdoc ├── Makefile ├── parser.y ├── phpdoc.cc ├── phpdoc.h └── scanner.l ├── stress ├── Assert.php ├── bench.php └── prim_types.php └── tests ├── 2d_generic_arrays_work.phpt ├── abstract_class_inheritance_over_multiple_files_works.phpt ├── abstract_classes_defined_in_same_file.phpt ├── arg_type_error_global_func_test.phpt ├── arrays_containing_void_are_forbidden.phpt ├── bad_tests ├── error_message_filename_and_lineno_are_next_stackframe_up.phpt.bad ├── namespace_imports.phpt.bad └── typed_return_val_should_not_substitute_for_void_when_retval_is_unused.phpt.bad ├── basic_global_func_test.phpt ├── blacklisting_works.phpt ├── callables_work.phpt ├── callback_can_modify_values.phpt ├── casting_allows_type_compatibility_for_numbers.phpt ├── casting_null_to_object_does_not_work.phpt ├── chained_compiles_work.phpt ├── class_hierarchy_enforcement_works.phpt ├── class_type_enforcement_test.phpt ├── closures_dont_expect_phpdoc.phpt ├── compilation-error-when-javascript-style-doc-encountered.phpt ├── compilation_error_level_works.phpt ├── compilation_warnings_work.phpt ├── constructors_dont_require_return_annotations.phpt ├── constructors_with_args_require_phpdoc.phpt ├── constructors_with_no_args_are_enforced.phpt ├── constructors_with_no_args_dont_require_phpdoc.phpt ├── cross_file_inheritance_works.phpt ├── default_compilation_error_is_fatal.phpt ├── disjunctive_types_test.phpt ├── ensure_not_specifying_argtype_fails.phpt ├── ensure_not_specifying_returns_fails.phpt ├── error_callback_works.phpt ├── error_callback_works_when_extra_params_are_passed.phpt ├── eval_class_test_works.phpt ├── eval_func_test_works.phpt ├── evaled_whitelisting_works.phpt ├── extended_ascii_class_names_work_fine.phpt ├── genericized_arrays_work.phpt ├── helper ├── base.php ├── baz_class.php ├── chained_class.php ├── chained_func.php ├── eval_func.php ├── invalid1.php ├── invalid2.php ├── invalid_chained_class.php ├── invalid_chained_func.php ├── namespace1.php ├── namespace2.php ├── sub1.php ├── sub2.php ├── subclass.php ├── superclass.php └── valid.php ├── instance_method_enforcement_test.phpt ├── internal_functions_dont_expect_phpdoc.phpt ├── invalid_phpdoc_void_or_value_return.phpt ├── lambda_funcs_arent_enforced.phpt ├── late_subclass_whitelisting_works.phpt ├── magic_methods_intercept_return.phpt ├── mixed_type_global_func_test.phpt ├── named_return_arg_works.phpt ├── namespaced_classes_work_fine.phpt ├── namespaced_closures_arent_compiled.phpt ├── namespaced_hints_look_up_namespaced_classes.phpt ├── nested_enforcement_works.phpt ├── number_of_params_is_enforced_at_compile_time.phpt ├── numerics_are_supported.phpt ├── optional_args_must_specify_void.phpt ├── optional_args_test.phpt ├── parentheses_correctly_associate_types.phpt ├── phpdoc_always_required.phpt ├── phpdoc_cannot_be_declared_more_than_once.phpt ├── recursive_calls_are_enforced.phpt ├── resources-are-recognized.phpt ├── return_type_error_global_func_test.phpt ├── skipping_then_compiling_files_works.phpt ├── static-calls-can-use-void.phpt ├── static_callback_from_class_works.phpt ├── stress_assert_bench_test.phpt ├── test_renamed_trait_methods_work.phpt ├── types_can_handle_null_zvals.phpt ├── unknown_tokens_are_handled_gracefully.phpt ├── unsigned_ints_work.phpt ├── values_can_be_modified_in_error_cb.phpt ├── variadic_arguments_cannot_be_followed_with_more_args.phpt ├── variadic_functions_work.phpt ├── void-calls-nest-correctly.phpt ├── void-invoked-via-reflection-works.phpt ├── void_enf_works.phpt ├── void_should_not_substitute_for_null.phpt ├── white_and_blacklisting_works_via_ini.phpt └── whitelisting_works.phpt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile-parser-targets.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/Makefile-parser-targets.frag -------------------------------------------------------------------------------- /PHPDoc_Bison_Compiler.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/PHPDoc_Bison_Compiler.cc -------------------------------------------------------------------------------- /PHPDoc_Bison_Compiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/PHPDoc_Bison_Compiler.h -------------------------------------------------------------------------------- /PHPDoc_Compiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/PHPDoc_Compiler.h -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/README.md -------------------------------------------------------------------------------- /augmented_annotation_compiler.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/augmented_annotation_compiler.cc -------------------------------------------------------------------------------- /augmented_annotation_compiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/augmented_annotation_compiler.h -------------------------------------------------------------------------------- /augmented_types.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/augmented_types.cc -------------------------------------------------------------------------------- /augmented_types_module.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/augmented_types_module.cc -------------------------------------------------------------------------------- /augmented_types_module.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/augmented_types_module.h -------------------------------------------------------------------------------- /augmented_util.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/augmented_util.cc -------------------------------------------------------------------------------- /augmented_util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/augmented_util.h -------------------------------------------------------------------------------- /config.m4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/config.m4 -------------------------------------------------------------------------------- /docs/stubs/augmented_types.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/docs/stubs/augmented_types.php -------------------------------------------------------------------------------- /misc/generate.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/misc/generate.php -------------------------------------------------------------------------------- /php_augmented_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/php_augmented_types.h -------------------------------------------------------------------------------- /phpdoc/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/phpdoc/Makefile -------------------------------------------------------------------------------- /phpdoc/parser.y: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/phpdoc/parser.y -------------------------------------------------------------------------------- /phpdoc/phpdoc.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/phpdoc/phpdoc.cc -------------------------------------------------------------------------------- /phpdoc/phpdoc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/phpdoc/phpdoc.h -------------------------------------------------------------------------------- /phpdoc/scanner.l: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/phpdoc/scanner.l -------------------------------------------------------------------------------- /stress/Assert.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/stress/Assert.php -------------------------------------------------------------------------------- /stress/bench.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/stress/bench.php -------------------------------------------------------------------------------- /stress/prim_types.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/stress/prim_types.php -------------------------------------------------------------------------------- /tests/2d_generic_arrays_work.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/2d_generic_arrays_work.phpt -------------------------------------------------------------------------------- /tests/abstract_class_inheritance_over_multiple_files_works.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/abstract_class_inheritance_over_multiple_files_works.phpt -------------------------------------------------------------------------------- /tests/abstract_classes_defined_in_same_file.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/abstract_classes_defined_in_same_file.phpt -------------------------------------------------------------------------------- /tests/arg_type_error_global_func_test.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/arg_type_error_global_func_test.phpt -------------------------------------------------------------------------------- /tests/arrays_containing_void_are_forbidden.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/arrays_containing_void_are_forbidden.phpt -------------------------------------------------------------------------------- /tests/bad_tests/error_message_filename_and_lineno_are_next_stackframe_up.phpt.bad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/bad_tests/error_message_filename_and_lineno_are_next_stackframe_up.phpt.bad -------------------------------------------------------------------------------- /tests/bad_tests/namespace_imports.phpt.bad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/bad_tests/namespace_imports.phpt.bad -------------------------------------------------------------------------------- /tests/bad_tests/typed_return_val_should_not_substitute_for_void_when_retval_is_unused.phpt.bad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/bad_tests/typed_return_val_should_not_substitute_for_void_when_retval_is_unused.phpt.bad -------------------------------------------------------------------------------- /tests/basic_global_func_test.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/basic_global_func_test.phpt -------------------------------------------------------------------------------- /tests/blacklisting_works.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/blacklisting_works.phpt -------------------------------------------------------------------------------- /tests/callables_work.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/callables_work.phpt -------------------------------------------------------------------------------- /tests/callback_can_modify_values.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/callback_can_modify_values.phpt -------------------------------------------------------------------------------- /tests/casting_allows_type_compatibility_for_numbers.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/casting_allows_type_compatibility_for_numbers.phpt -------------------------------------------------------------------------------- /tests/casting_null_to_object_does_not_work.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/casting_null_to_object_does_not_work.phpt -------------------------------------------------------------------------------- /tests/chained_compiles_work.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/chained_compiles_work.phpt -------------------------------------------------------------------------------- /tests/class_hierarchy_enforcement_works.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/class_hierarchy_enforcement_works.phpt -------------------------------------------------------------------------------- /tests/class_type_enforcement_test.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/class_type_enforcement_test.phpt -------------------------------------------------------------------------------- /tests/closures_dont_expect_phpdoc.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/closures_dont_expect_phpdoc.phpt -------------------------------------------------------------------------------- /tests/compilation-error-when-javascript-style-doc-encountered.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/compilation-error-when-javascript-style-doc-encountered.phpt -------------------------------------------------------------------------------- /tests/compilation_error_level_works.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/compilation_error_level_works.phpt -------------------------------------------------------------------------------- /tests/compilation_warnings_work.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/compilation_warnings_work.phpt -------------------------------------------------------------------------------- /tests/constructors_dont_require_return_annotations.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/constructors_dont_require_return_annotations.phpt -------------------------------------------------------------------------------- /tests/constructors_with_args_require_phpdoc.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/constructors_with_args_require_phpdoc.phpt -------------------------------------------------------------------------------- /tests/constructors_with_no_args_are_enforced.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/constructors_with_no_args_are_enforced.phpt -------------------------------------------------------------------------------- /tests/constructors_with_no_args_dont_require_phpdoc.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/constructors_with_no_args_dont_require_phpdoc.phpt -------------------------------------------------------------------------------- /tests/cross_file_inheritance_works.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/cross_file_inheritance_works.phpt -------------------------------------------------------------------------------- /tests/default_compilation_error_is_fatal.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/default_compilation_error_is_fatal.phpt -------------------------------------------------------------------------------- /tests/disjunctive_types_test.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/disjunctive_types_test.phpt -------------------------------------------------------------------------------- /tests/ensure_not_specifying_argtype_fails.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/ensure_not_specifying_argtype_fails.phpt -------------------------------------------------------------------------------- /tests/ensure_not_specifying_returns_fails.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/ensure_not_specifying_returns_fails.phpt -------------------------------------------------------------------------------- /tests/error_callback_works.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/error_callback_works.phpt -------------------------------------------------------------------------------- /tests/error_callback_works_when_extra_params_are_passed.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/error_callback_works_when_extra_params_are_passed.phpt -------------------------------------------------------------------------------- /tests/eval_class_test_works.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/eval_class_test_works.phpt -------------------------------------------------------------------------------- /tests/eval_func_test_works.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/eval_func_test_works.phpt -------------------------------------------------------------------------------- /tests/evaled_whitelisting_works.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/evaled_whitelisting_works.phpt -------------------------------------------------------------------------------- /tests/extended_ascii_class_names_work_fine.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/extended_ascii_class_names_work_fine.phpt -------------------------------------------------------------------------------- /tests/genericized_arrays_work.phpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/genericized_arrays_work.phpt -------------------------------------------------------------------------------- /tests/helper/base.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/helper/base.php -------------------------------------------------------------------------------- /tests/helper/baz_class.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/helper/baz_class.php -------------------------------------------------------------------------------- /tests/helper/chained_class.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/helper/chained_class.php -------------------------------------------------------------------------------- /tests/helper/chained_func.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/helper/chained_func.php -------------------------------------------------------------------------------- /tests/helper/eval_func.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/helper/eval_func.php -------------------------------------------------------------------------------- /tests/helper/invalid1.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/helper/invalid1.php -------------------------------------------------------------------------------- /tests/helper/invalid2.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/box/augmented_types/HEAD/tests/helper/invalid2.php -------------------------------------------------------------------------------- /tests/helper/invalid_chained_class.php: -------------------------------------------------------------------------------- 1 |