class documentation

class ComparisonChecker(_BasicChecker): (source)

View In Hierarchy

Checks for comparisons. - singleton comparison: 'expr == True', 'expr == False' and 'expr == None' - yoda condition: 'const "comp" right' where comp can be '==', '!=', '<', '<=', '>' or '>=', and right can be a variable, an attribute, a method or a function

Method visit_compare Undocumented
Class Variable msgs Undocumented
Method _check_callable_comparison Undocumented
Method _check_constants_comparison When two constants are being compared it is always a logical tautology.
Method _check_literal_comparison Check if we compare to a literal, which is usually what we do not want to do.
Method _check_logical_tautology Check if identifier is compared against itself.
Method _check_nan_comparison Undocumented
Method _check_singleton_comparison Check if == or != is being used to compare a singleton value.
Method _check_type_x_is_y Check for expressions like type(x) == Y.
Method _check_unidiomatic_typecheck Undocumented

Inherited from _BasicChecker:

Class Variable name Name of the provider.

Inherited from BaseChecker (via _BasicChecker):

Method __eq__ Permit to assert Checkers are equal.
Method __gt__ Sorting of checkers.
Method __hash__ Make Checker hashable.
Method __init__ Checker instances should have the linter as argument.
Method __repr__ Undocumented
Method __str__ This might be incomplete because multiple classes inheriting BaseChecker can have the same name.
Method add_message Undocumented
Method check_consistency Check the consistency of msgid.
Method close Called after visiting project (i.e set of modules).
Method create_message_definition_from_tuple Undocumented
Method get_full_documentation Undocumented
Method get_map_data Undocumented
Method get_message_definition Undocumented
Method open Called before visiting project (i.e. set of modules).
Method reduce_map_data Undocumented
Class Variable enabled Undocumented
Class Variable options Options provided by this provider.
Class Variable reports Undocumented
Instance Variable linter Undocumented
Property messages Undocumented

Inherited from _ArgumentsProvider (via _BasicChecker, BaseChecker):

Method get_option_def DEPRECATED: Return the dictionary defining an option given its name.
Method level.setter Undocumented
Method load_defaults DEPRECATED: Initialize the provider using default values.
Method option_attrname DEPRECATED: Get the config attribute corresponding to opt.
Method option_value DEPRECATED: Get the current value for the given option.
Method options_and_values DEPRECATED.
Method options_by_section DEPRECATED: Return an iterator on options grouped by section.
Method set_option DEPRECATED: Method called to set an option (registered in the options list).
Class Variable option_groups_descs Option groups of this provider and their descriptions.
Property config Undocumented
Property level Undocumented
Instance Variable _arguments_manager The manager that will parse and register any options provided.
Instance Variable _level Undocumented
@utils.only_required_for_messages('singleton-comparison', 'unidiomatic-typecheck', 'literal-comparison', 'comparison-with-itself', 'comparison-of-constants', 'comparison-with-callable', 'nan-comparison')
def visit_compare(self, node: nodes.Compare): (source)

Undocumented

def _check_callable_comparison(self, node: nodes.Compare): (source)

Undocumented

def _check_constants_comparison(self, node: nodes.Compare): (source)

When two constants are being compared it is always a logical tautology.

def _check_literal_comparison(self, literal: nodes.NodeNG, node: nodes.Compare): (source)

Check if we compare to a literal, which is usually what we do not want to do.

def _check_logical_tautology(self, node: nodes.Compare): (source)

Check if identifier is compared against itself. :param node: Compare node :Example: val = 786 if val == val: # [comparison-with-itself] pass

def _check_nan_comparison(self, left_value: nodes.NodeNG, right_value: nodes.NodeNG, root_node: nodes.Compare, checking_for_absence: bool = False): (source)

Undocumented

def _check_singleton_comparison(self, left_value: nodes.NodeNG, right_value: nodes.NodeNG, root_node: nodes.Compare, checking_for_absence: bool = False): (source)

Check if == or != is being used to compare a singleton value.

def _check_type_x_is_y(self, node: nodes.Compare, left: nodes.NodeNG, operator: str, right: nodes.NodeNG): (source)

Check for expressions like type(x) == Y.

def _check_unidiomatic_typecheck(self, node: nodes.Compare): (source)

Undocumented