Docs.rs
mago-analyzer-1.6.0
Platform
i686-pc-windows-msvc
x86_64-unknown-linux-gnu
Feature flags
docs.rs
About docs.rs
Badges
Builds
Metadata
Shorthand URLs
Download
Rustdoc JSON
Build queue
Privacy policy
Rust
Rust website
The Book
Standard Library API Reference
Rust by Example
The Cargo Guide
Clippy Documentation
mago-analyzer 1.6.0
A PHP static analyzer that can detect type errors in PHP code, and provide suggestions for fixing them.
Crate
Source
Builds
Feature flags
Documentation
..
abstract_factory_pattern.php
accessing_undefined_class_constant.php
all_paths_return_value.php
anonymous_class_constructor_args.php
argument_count.php
arguments_unpacking.php
array_coalesce_assign_check.php
array_key_access_after_existence_check.php
array_key_coalesce.php
array_key_concat.php
array_key_exists.php
array_list_reconciliation.php
array_map_non_empty_array.php
array_map_non_empty_list.php
array_reconcile.php
array_refs.php
array_shape_access.php
array_shape_fields.php
array_shape_reconciliation.php
array_type_combination_threshold.php
array_unique_non_empty.php
arrow_function_inherits_method_templates.php
assert_concrete_to_template_type.php
assert_generic_array_key_is_array_key.php
assert_or_type.php
bad_path_abstract_instantiation.php
bad_path_assignment_to_this.php
bad_path_enum_instantiation.php
bad_path_interface_instantiation.php
bad_path_invalid_break.php
bad_path_invalid_clone.php
bad_path_invalid_continue.php
bad_path_invalid_iterator.php
bad_path_invalid_throw.php
bad_path_method_access_on_null.php
bad_path_null_iterator.php
bad_path_null_operand.php
bad_path_null_property_access.php
bad_path_possibly_null_iterator.php
bad_path_possibly_null_operand.php
bad_path_possibly_null_property_access.php
bad_path_redundant_null_coalesce.php
bad_path_redundant_nullsafe.php
bare_identifier_in_array_access.php
big_numbers.php
binary_throw_used.php
break_narrowing.php
by_reference_invalidation.php
callable_template_inference.php
calling_interface_methods_from_trait.php
calling_trait_required_method.php
change_private_parent_prop.php
chunk.php
chunk_with_keys.php
class_in_alias.php
class_instance.php
class_like_constant_access.php
class_must_be_final.php
class_string_comparison.php
class_string_instantiation.php
class_string_is_never_equal_to_literal_string.php
class_string_union_constraint.php
clear_narrowed_prop_after_call.php
clone_dynamic_class.php
closure_wrap.php
collection_types.php
complex_template_constraint.php
compound_condition.php
condition_is_too_complex.php
conditional_always_falsy.php
conditional_always_truthy.php
conditional_if_else.php
conditional_initialization.php
conditional_mixed_types.php
conditional_nested.php
conditional_return.php
conditional_return_resolved_to_left.php
conditional_return_resolved_to_right.php
conditional_return_with_assignment_in_condition.php
conditional_return_with_default_parameters.php
conditional_type_narrowing.php
conditional_with_assignment.php
const_array_key.php
constant_type.php
count.php
ctype_digit_check.php
data_transformer_type.php
deep_inheritance_init.php
default_parameter_inference.php
defensive_type_check.php
docblock_type_mismatch.php
docblock_type_narrowing.php
docblock_type_parsing_verification.php
docblock_var_on_non_assignment.php
docblock_var_override.php
docblock_var_override_foreach.php
duplicate_definition.php
dynamic_array_key_in_string_interpolation.php
echo_tag.php
eliminate_true_and_false_from_scalar.php
elvis_operator_with_falsy_string.php
elvis_operator_with_null.php
empty_construct.php
empty_switch.php
enum_empty_check.php
expand_class_constant_type.php
expand_generic_params.php
extends_inheritance_error_path.php
extends_inheritance_happy_path.php
factory_null_params.php
finally_after_return.php
float_string_concat.php
flow_php_integration.php
fully_qualified_use_prefix.php
generic_shape_coercion.php
implements_inheritance_error_path.php
implements_inheritance_happy_path.php
impossible_assertion.php
index_access.php
infer_class_string_on_generic_object.php
infere_closure_parameter_type.php
inheritdoc_basic_parent_class.php
inheritdoc_contravariant_parameters.php
inheritdoc_multiple_interfaces.php
inheritdoc_nested_generics.php
inheritdoc_priority.php
inherited_docblock_narrowing.php
instanceof_assertion.php
int_mask.php
int_or_float.php
integer_range_reconciliation.php
integer_reconciliation.php
interface_assertion.php
interface_constant_validation.php
interface_property_hook.php
interface_template_signatures.php
intersection_stringable.php
isset_and_nullable_access_assertions.php
isset_refinement_on_object_properties.php
issue_1002_part_1.php
issue_1002_part_2.php
issue_1002_part_3.php
issue_1002_part_4.php
issue_1005.php
issue_1006.php
issue_1021.php
issue_1025.php
issue_1026.php
issue_1029.php
issue_1030.php
issue_1038.php
issue_1040.php
issue_1045.php
issue_265.php
issue_275.php
issue_306.php
issue_355.php
issue_356.php
issue_357.php
issue_358.php
issue_359.php
issue_360.php
issue_361.php
issue_362.php
issue_366.php
issue_368.php
issue_388.php
issue_390.php
issue_391.php
issue_393.php
issue_396.php
issue_400.php
issue_413.php
issue_414.php
issue_415.php
issue_417.php
issue_425_json_encode.php
issue_448.php
issue_451.php
issue_459.php
issue_461.php
issue_465.php
issue_474.php
issue_493.php
issue_498.php
issue_504.php
issue_508.php
issue_510.php
issue_511.php
issue_513.php
issue_514.php
issue_519.php
issue_520.php
issue_521.php
issue_523.php
issue_528.php
issue_531.php
issue_535.php
issue_537.php
issue_538.php
issue_540.php
issue_541.php
issue_542.php
issue_542_part_2.php
issue_546.php
issue_549.php
issue_551.php
issue_553.php
issue_557_part_1.php
issue_557_part_2.php
issue_559.php
issue_563.php
issue_564.php
issue_567.php
issue_568.php
issue_570.php
issue_571.php
issue_573.php
issue_574.php
issue_577.php
issue_583.php
issue_586.php
issue_588.php
issue_596.php
issue_598.php
issue_606.php
issue_607.php
issue_617.php
issue_620.php
issue_621.php
issue_622.php
issue_623.php
issue_626.php
issue_627.php
issue_633.php
issue_637.php
issue_639.php
issue_658.php
issue_659.php
issue_660.php
issue_663.php
issue_664.php
issue_665.php
issue_666.php
issue_667.php
issue_670.php
issue_671.php
issue_672.php
issue_676.php
issue_684.php
issue_689.php
issue_690.php
issue_701.php
issue_706.php
issue_708_part_1.php
issue_708_part_2.php
issue_709.php
issue_710.php
issue_711.php
issue_712.php
issue_716.php
issue_717.php
issue_718.php
issue_719.php
issue_720.php
issue_721.php
issue_722.php
issue_725.php
issue_728_symfony_reference.php
issue_729.php
issue_731.php
issue_732.php
issue_733.php
issue_735.php
issue_736.php
issue_737.php
issue_739.php
issue_742.php
issue_743.php
issue_746_part_1.php
issue_746_part_2.php
issue_746_part_3.php
issue_746_part_4.php
issue_746_part_5.php
issue_746_part_6.php
issue_749.php
issue_752.php
issue_754.php
issue_755.php
issue_756.php
issue_764.php
issue_765.php
issue_766.php
issue_776.php
issue_782.php
issue_784.php
issue_785.php
issue_789.php
issue_801.php
issue_806.php
issue_809.php
issue_822.php
issue_830.php
issue_835.php
issue_837.php
issue_845.php
issue_849.php
issue_859.php
issue_861.php
issue_863.php
issue_870.php
issue_871.php
issue_872.php
issue_880.php
issue_886.php
issue_900.php
issue_912.php
issue_923.php
issue_932.php
issue_940.php
issue_941.php
issue_945.php
issue_946.php
issue_949.php
issue_954.php
issue_955.php
issue_957.php
issue_958.php
issue_960.php
issue_962.php
issue_964.php
issue_969.php
issue_970.php
issue_973.php
issue_976.php
issue_980.php
issue_984.php
issue_985.php
issue_996.php
issue_998.php
issue_contravariant_params_diamond.php
issue_contravariant_params_simple.php
iterable_array_comparison.php
iterable_count.php
iterable_reconciliation.php
iterator_to_array.php
iterator_type_inference.php
keyed_array_list_inference.php
literal_float.php
literal_int.php
magic_method_trait.php
magic_methods.php
magic_methods_args.php
magic_properties.php
match_arm_reaching.php
match_expression.php
match_not_exhaustive.php
match_true_and_false.php
mb_encoding.php
merge_arrays_non_empty.php
method_annotation_with_inheritance.php
method_call_assertions.php
method_docblock.php
method_signature_complex.php
method_signature_edge_cases.php
method_signature_param_types.php
method_signature_parameter_count.php
method_signature_parameter_names.php
method_signature_return_types.php
method_signature_static.php
method_signature_template_substitution.php
method_signature_visibility.php
missing_api_or_internal.php
missing_constructor.php
mixin.php
multi_level_template_inheritance.php
multiline_intersection_var.php
multiline_union_param.php
mutually_exclusive_null.php
narrow_class_string_match.php
narrow_non_final_class_string_match.php
negated_union_type.php
negation_operand.php
non_empty_string_magic_constant.php
not_equal_negation.php
null_array_key.php
nullable_getter_check.php
nullable_method_coalesce.php
nullsafe_chain_bug.php
nullsafe_operator_chain_shortcircuit.php
numeric_non_lowercase_string.php
numeric_reconciliation.php
object_shape.php
octal_zero_prefix.php
optional_chain_method.php
optional_object_with_properties.php
overload_resolution_for_callable.php
parent_class_constant_validation.php
parent_constructor_init.php
parent_magic_method_call.php
parent_static_return.php
partial_application_function.php
partial_application_method.php
partial_application_named_argument_reordering.php
partial_application_simple.php
partial_application_static_method.php
partial_application_templates.php
partial_application_type_inference.php
pass_by_ref.php
post_narrowing_check.php
priority_queue_implementation.php
private_static_method.php
properties_added_to_context.php
properties_of_class.php
properties_of_enum.php
properties_of_generic.php
properties_of_visibility.php
property_coalesce_init.php
property_docblock.php
property_docblock_type_annotation.php
property_hooks.php
property_hooks_initialization.php
property_initialization.php
property_magic_constant.php
pseudo_method_override.php
psl_awaitable_promise.php
psl_integration.php
psr_container_get.php
readonly_class_trait_non_readonly_property.php
readonly_proptected_set.php
real_pseudo_method.php
reconcile_array_index_type.php
reconcile_empty_string.php
reconcile_literl_class_string.php
reconcile_non_empty_string.php
reconcile_properties.php
reconcile_scalars.php
reconciling_generic_parameter.php
recursive_templates.php
redefined_loop_variables.php
redundant_assert.php
redundant_var_docblock.php
ref_constraint_conflict.php
reference_constraint_violation.php
reference_reused_from_confusing_scope.php
require_implements_inherited.php
resource_reconciliation.php
retain_possibly_undefined_in_array_access.php
return_by_ref.php
return_type_override_native_vs_docblock.php
scalar_types_reconciliation.php
sealed_array_combine.php
sealed_class_10_inheritors.php
sealed_class_15_inheritors.php
sealed_class_2_inheritors.php
sealed_class_5_inheritors.php
sealed_class_7_inheritors.php
sealed_class_performance.php
short_ternary_with_falsy.php
short_ternary_with_truthy.php
static_anonymous_class.php
static_return_generic_override.php
static_var_coalesce.php
static_var_lazy_init.php
string_callable_template_inference.php
string_concat_combination_threshold.php
string_reconciliation.php
subtract_objects.php
switch_always_matching_case.php
switch_case_after_default_is_unreachable.php
switch_complex_logic.php
switch_default_only.php
switch_empty_case.php
switch_fall_through.php
switch_logically_unreachable_case.php
switch_mixed_fall_through.php
switch_multiple_cases.php
switch_no_break.php
switch_on_literal.php
switch_redundant_condition.php
switch_semicolon.php
switch_simple_break.php
switch_statement.php
switch_string_subject.php
switch_with_return.php
symbol_existence_assertions.php
symbol_existence_edge_cases.php
template_null_comparison.php
template_parameter_sanity_check.php
templated_trait_use.php
test_minimal_static.php
test_visibility.php
throwing_exceptions.php
trait_alias_vis_self.php
trait_class_property_conflicts.php
trait_constant_access.php
trait_constant_conflicts.php
trait_constant_direct_access.php
trait_constant_override.php
trait_method_closure_self.php
trait_method_conflicts.php
trait_override_final_methods.php
trait_property_default_value_conflicts.php
trait_property_hierarchy_conflicts.php
trait_property_initialization.php
trait_property_readonly_conflicts.php
trait_property_static_modifiers.php
trait_property_type_conflicts.php
trait_property_visibility_conflicts.php
trait_require_combined.php
trait_require_extends_self_return.php
trait_require_implements_self_return.php
trait_usage_errors.php
true_ident.php
type_alias_basic.php
type_alias_complex_types.php
type_alias_import.php
type_alias_import_rename.php
type_alias_in_class_method_parameters.php
type_alias_phpstan.php
type_alias_syntax.php
type_assert.php
type_guard_followed_by_redundant_check.php
type_is_not_narrowed_by_nested_conditional_exit.php
type_narrowing_and_assertions.php
type_narrowing_external.php
typed_property_null_coalesce.php
undefined_type_reference.php
uninitialized_property.php
union_template_constraint.php
unknown_named_args.php
unreferencable_expression.php
unsealed_array_overlap.php
unspecified_callable_or_closure.php
untemplated_generic_parameters.php
untyped_callable_parameter.php
untyped_property_docblock.php
unused_edge_cases.php
unused_function_template_parameter.php
unused_method.php
unused_property.php
unused_template_parameter.php
use_inheritance_error_path.php
use_inheritance_happy_path.php
useless_statements.php
value_of_enum_resolution.php
var_docblock.php
variable_key_narrowing_not_null.php
yield_array_value.php
yield_from_generator.php
yield_from_invalid_key.php
yield_from_invalid_type.php
yield_from_non_iterable.php
yield_global_scope.php
yield_invalid_key.php
yield_invalid_value.php
yield_merge_iterables.php