class AdLint::Cc1::SyntaxTreeVisitor
Public Instance Methods
visit_abbreviated_function_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4800 def visit_abbreviated_function_declarator(node) node.base.accept(self) end
visit_additive_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4627 def visit_additive_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_address_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4589 def visit_address_expression(node) node.operand.accept(self) end
visit_alignof_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4609 def visit_alignof_expression(node) node.operand.accept(self) end
visit_alignof_type_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4613 def visit_alignof_type_expression(node) node.operand.accept(self) end
visit_and_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4647 def visit_and_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_ansi_function_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4791 def visit_ansi_function_declarator(node) node.base.accept(self) node.parameter_type_list.accept(self) end
visit_ansi_function_definition(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4902 def visit_ansi_function_definition(node) node.declaration_specifiers.accept(self) if node.declaration_specifiers node.declarator.accept(self) node.parameter_definitions.each { |param_def| param_def.accept(self) } node.function_body.accept(self) node.type_declaration.accept(self) if node.type_declaration end
visit_array_abstract_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4927 def visit_array_abstract_declarator(node) node.base.accept(self) if node.base node.size_expression.accept(self) if node.size_expression end
visit_array_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4786 def visit_array_declarator(node) node.base.accept(self) node.size_expression.accept(self) if node.size_expression end
visit_array_subscript_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4542 def visit_array_subscript_expression(node) node.expression.accept(self) node.array_subscript.accept(self) end
visit_bit_access_by_pointer_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4564 def visit_bit_access_by_pointer_expression(node) node.expression.accept(self) end
visit_bit_access_by_value_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4560 def visit_bit_access_by_value_expression(node) node.expression.accept(self) end
visit_break_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4883 def visit_break_statement(node) end
visit_c99_for_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4870 def visit_c99_for_statement(node) node.declaration.accept(self) node.condition_statement.accept(self) node.expression.accept(self) if node.expression node.body_statement.accept(self) end
visit_case_labeled_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4820 def visit_case_labeled_statement(node) node.expression.accept(self) node.statement.accept(self) end
visit_cast_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4617 def visit_cast_expression(node) node.type_name.accept(self) node.operand.accept(self) end
visit_comma_separated_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4688 def visit_comma_separated_expression(node) node.expressions.each { |expr| expr.accept(self) } end
visit_compound_assignment_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4683 def visit_compound_assignment_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_compound_literal_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4576 def visit_compound_literal_expression(node) node.type_name.accept(self) if node.type_name node.initializers.each { |init| init.accept(self) } end
visit_compound_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4829 def visit_compound_statement(node) node.block_items.each { |item| item.accept(self) } end
visit_conditional_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4672 def visit_conditional_expression(node) node.condition.accept(self) node.then_expression.accept(self) node.else_expression.accept(self) end
visit_constant_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4529 def visit_constant_specifier(node) end
visit_continue_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4880 def visit_continue_statement(node) end
visit_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4692 def visit_declaration(node) node.declaration_specifiers.accept(self) if node.declaration_specifiers node.init_declarators.each { |dcr| dcr.accept(self) } node.items.each { |item| item.accept(self) } end
visit_declaration_specifiers(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4719 def visit_declaration_specifiers(node) node.type_specifiers.each { |type_spec| type_spec.accept(self) } end
visit_default_labeled_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4825 def visit_default_labeled_statement(node) node.statement.accept(self) end
visit_do_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4858 def visit_do_statement(node) node.statement.accept(self) node.expression.accept(self) end
visit_enum_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4764 def visit_enum_specifier(node) if node.enumerators node.enumerators.each { |enum| enum.accept(self) } end end
visit_enum_type_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4716 def visit_enum_type_declaration(node) end
visit_enumerator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4770 def visit_enumerator(node) node.expression.accept(self) if node.expression end
visit_equality_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4642 def visit_equality_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_error_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4523 def visit_error_expression(node) end
visit_error_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4813 def visit_error_statement(node) end
visit_exclusive_or_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4652 def visit_exclusive_or_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_expression_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4833 def visit_expression_statement(node) node.expression.accept(self) if node.expression end
visit_for_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4863 def visit_for_statement(node) node.initial_statement.accept(self) node.condition_statement.accept(self) node.expression.accept(self) if node.expression node.body_statement.accept(self) end
visit_function_abstract_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4932 def visit_function_abstract_declarator(node) node.base.accept(self) if node.base node.parameter_type_list.accept(self) if node.parameter_type_list end
visit_function_call_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4547 def visit_function_call_expression(node) node.expression.accept(self) node.argument_expressions.each { |expr| expr.accept(self) } end
visit_function_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4698 def visit_function_declaration(node) end
visit_generic_labeled_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4816 def visit_generic_labeled_statement(node) node.statement.accept(self) end
visit_goto_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4877 def visit_goto_statement(node) end
visit_grouped_abstract_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4923 def visit_grouped_abstract_declarator(node) node.base.accept(self) end
visit_grouped_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4782 def visit_grouped_declarator(node) node.base.accept(self) end
visit_grouped_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4538 def visit_grouped_expression(node) node.expression.accept(self) end
visit_identifier_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4779 def visit_identifier_declarator(node) end
visit_if_else_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4842 def visit_if_else_statement(node) node.expression.accept(self) node.then_statement.accept(self) node.else_statement.accept(self) end
visit_if_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4837 def visit_if_statement(node) node.expression.accept(self) node.statement.accept(self) end
visit_inclusive_or_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4657 def visit_inclusive_or_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_indirection_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4593 def visit_indirection_expression(node) node.operand.accept(self) end
visit_init_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4723 def visit_init_declarator(node) node.declarator.accept(self) node.initializer.accept(self) if node.initializer end
visit_initializer(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4937 def visit_initializer(node) case when node.expression node.expression.accept(self) when node.initializers node.initializers.each { |init| init.accept(self) } end end
visit_kandr_function_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4796 def visit_kandr_function_declarator(node) node.base.accept(self) end
visit_kandr_function_definition(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4894 def visit_kandr_function_definition(node) node.declaration_specifiers.accept(self) if node.declaration_specifiers node.declarator.accept(self) node.parameter_definitions.each { |param_def| param_def.accept(self) } node.function_body.accept(self) node.type_declaration.accept(self) if node.type_declaration end
visit_logical_and_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4662 def visit_logical_and_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_logical_or_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4667 def visit_logical_or_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_member_access_by_pointer_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4556 def visit_member_access_by_pointer_expression(node) node.expression.accept(self) end
visit_member_access_by_value_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4552 def visit_member_access_by_value_expression(node) node.expression.accept(self) end
visit_member_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4752 def visit_member_declaration(node) end
visit_multiplicative_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4622 def visit_multiplicative_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_null_constant_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4535 def visit_null_constant_specifier(node) end
visit_object_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4526 def visit_object_specifier(node) end
visit_parameter_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4808 def visit_parameter_declaration(node) node.declaration_specifiers.accept(self) node.declarator.accept(self) if node.declarator end
visit_parameter_definition(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4910 def visit_parameter_definition(node) end
visit_parameter_type_list(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4804 def visit_parameter_type_list(node) node.parameters.each { |param| param.accept(self) } end
visit_pointer_abstract_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4919 def visit_pointer_abstract_declarator(node) node.base.accept(self) if node.base end
visit_postfix_decrement_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4572 def visit_postfix_decrement_expression(node) node.operand.accept(self) end
visit_postfix_increment_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4568 def visit_postfix_increment_expression(node) node.operand.accept(self) end
visit_prefix_decrement_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4585 def visit_prefix_decrement_expression(node) node.operand.accept(self) end
visit_prefix_increment_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4581 def visit_prefix_increment_expression(node) node.operand.accept(self) end
visit_relational_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4637 def visit_relational_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_return_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4886 def visit_return_statement(node) node.expression.accept(self) if node.expression end
visit_shift_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4632 def visit_shift_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_simple_assignment_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4678 def visit_simple_assignment_expression(node) node.lhs_operand.accept(self) node.rhs_operand.accept(self) end
visit_sizeof_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4601 def visit_sizeof_expression(node) node.operand.accept(self) end
visit_sizeof_type_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4605 def visit_sizeof_type_expression(node) node.operand.accept(self) end
visit_specifier_qualifier_list(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4755 def visit_specifier_qualifier_list(node) node.type_specifiers.each { |type_spec| type_spec.accept(self) } end
visit_standard_type_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4728 def visit_standard_type_specifier(node) end
visit_string_literal_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4532 def visit_string_literal_specifier(node) end
visit_struct_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4746 def visit_struct_declaration(node) node.specifier_qualifier_list.accept(self) node.struct_declarators.each { |dcr| dcr.accept(self) } node.items.each { |item| item.accept(self) } end
visit_struct_declarator(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4759 def visit_struct_declarator(node) node.declarator.accept(self) if node.declarator node.expression.accept(self) if node.expression end
visit_struct_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4734 def visit_struct_specifier(node) if node.struct_declarations node.struct_declarations.each { |dcl| dcl.accept(self) } end end
visit_struct_type_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4710 def visit_struct_type_declaration(node) end
visit_switch_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4848 def visit_switch_statement(node) node.expression.accept(self) node.statement.accept(self) end
visit_translation_unit(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4890 def visit_translation_unit(node) node.external_declarations.each { |dcl| dcl.accept(self) } end
visit_type_name(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4913 def visit_type_name(node) node.specifier_qualifier_list.accept(self) node.abstract_declarator.accept(self) if node.abstract_declarator node.type_declaration.accept(self) if node.type_declaration end
visit_typedef_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4707 def visit_typedef_declaration(node) end
visit_typedef_type_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4731 def visit_typedef_type_specifier(node) end
visit_typeof_type_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4774 def visit_typeof_type_specifier(node) node.expression.accept(self) if node.expression node.type_name.accept(self) if node.type_name end
visit_unary_arithmetic_expression(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4597 def visit_unary_arithmetic_expression(node) node.operand.accept(self) end
visit_union_specifier(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4740 def visit_union_specifier(node) if node.struct_declarations node.struct_declarations.each { |dcl| dcl.accept(self) } end end
visit_union_type_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4713 def visit_union_type_declaration(node) end
visit_variable_declaration(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4701 def visit_variable_declaration(node) end
visit_variable_definition(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4704 def visit_variable_definition(node) end
visit_while_statement(node)
click to toggle source
# File lib/adlint/cc1/syntax.rb, line 4853 def visit_while_statement(node) node.expression.accept(self) node.statement.accept(self) end