File: require_parse_tree.h

package info (click to toggle)
cbmc 6.6.0-4
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 153,852 kB
  • sloc: cpp: 386,459; ansic: 114,466; java: 28,405; python: 6,003; yacc: 4,552; makefile: 4,041; lex: 2,487; xml: 2,388; sh: 2,050; perl: 557; pascal: 184; javascript: 163; ada: 36
file content (58 lines) | stat: -rw-r--r-- 1,666 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*******************************************************************\

Module: Unit test utilities

Author: Diffblue Ltd.

\*******************************************************************/

/// \file
/// Utilties for inspecting java_parse_treet

#ifndef CPROVER_JAVA_TESTING_UTILS_REQUIRE_PARSE_TREE_H
#define CPROVER_JAVA_TESTING_UTILS_REQUIRE_PARSE_TREE_H

#include <java_bytecode/java_bytecode_parse_tree.h>

// NOLINTNEXTLINE(readability/namespace)
namespace require_parse_tree
{
typedef java_bytecode_parse_treet::classt::lambda_method_handlet
  lambda_method_handlet;

lambda_method_handlet require_lambda_entry_for_descriptor(
  const java_bytecode_parse_treet::classt &parsed_class,
  const std::string &lambda_method_ref);

typedef java_bytecode_parse_treet::methodt methodt;

const methodt require_method(
  const java_bytecode_parse_treet::classt &parsed_class,
  const irep_idt &method_name);

struct expected_instructiont
{
  expected_instructiont(
    const irep_idt &instruction_mnemoic,
    const std::vector<exprt> &instruction_arguments)
    : instruction_mnemoic(instruction_mnemoic),
      instruction_arguments(instruction_arguments)
  {
  }

  void require_instructions_equal(
    java_bytecode_parse_treet::instructiont actual_instruction) const;

private:
  irep_idt instruction_mnemoic;
  std::vector<exprt> instruction_arguments;
};

typedef std::vector<expected_instructiont> expected_instructionst;

void require_instructions_match_expectation(
  const expected_instructionst &expected_instructions,
  const java_bytecode_parse_treet::methodt::instructionst instructions);
}

#endif // CPROVER_JAVA_TESTING_UTILS_REQUIRE_PARSE_TREE_H