cprover
java_class_loader_limitt Class Reference

#include <java_class_loader_limit.h>

Inheritance diagram for java_class_loader_limitt:
[legend]
Collaboration diagram for java_class_loader_limitt:
[legend]

Public Member Functions

 java_class_loader_limitt (message_handlert &message_handler, const std::string &java_cp_include_files)
 
bool load_class_file (const std::string &class_file_name)
 
- Public Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
messagetoperator= (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level) const
 
mstreamterror () const
 
mstreamtwarning () const
 
mstreamtresult () const
 
mstreamtstatus () const
 
mstreamtstatistics () const
 
mstreamtprogress () const
 
mstreamtdebug () const
 
void conditional_output (mstreamt &mstream, const std::function< void(mstreamt &)> &output_generator) const
 Generate output to mstream using output_generator if the configured verbosity is at least as high as that of mstream. More...
 

Private Member Functions

void setup_class_load_limit (const std::string &)
 initializes class with either regex matcher or match set More...
 

Private Attributes

bool use_regex_match
 Whether to use regex_matcher instead of set_matcher. More...
 
std::regex regex_matcher
 
std::set< std::string > set_matcher
 

Additional Inherited Members

- Public Types inherited from messaget
enum  message_levelt {
  M_ERROR =1, M_WARNING =2, M_RESULT =4, M_STATUS =6,
  M_STATISTICS =8, M_PROGRESS =9, M_DEBUG =10
}
 
- Static Public Member Functions inherited from messaget
static unsigned eval_verbosity (const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
 Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest. More...
 
static mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Detailed Description

Definition at line 21 of file java_class_loader_limit.h.

Constructor & Destructor Documentation

◆ java_class_loader_limitt()

java_class_loader_limitt::java_class_loader_limitt ( message_handlert message_handler,
const std::string &  java_cp_include_files 
)
inlineexplicit

Definition at line 31 of file java_class_loader_limit.h.

References setup_class_load_limit().

Member Function Documentation

◆ load_class_file()

bool java_class_loader_limitt::load_class_file ( const std::string &  file_name)
parameters: class file name
Returns
true if file should be loaded, else false

Definition at line 52 of file java_class_loader_limit.cpp.

References regex_matcher, set_matcher, and use_regex_match.

Referenced by java_class_loadert::get_parse_tree(), and jar_filet::initialize_file_index().

◆ setup_class_load_limit()

void java_class_loader_limitt::setup_class_load_limit ( const std::string &  java_cp_include_files)
private

initializes class with either regex matcher or match set

parameters: parameter from java-cp-include-files

Definition at line 18 of file java_class_loader_limit.cpp.

References jsont::array, messaget::get_message_handler(), jsont::is_array(), jsont::is_null(), jsont::is_string(), parse_json(), regex_matcher, set_matcher, use_regex_match, and jsont::value.

Referenced by java_class_loader_limitt().

Member Data Documentation

◆ regex_matcher

std::regex java_class_loader_limitt::regex_matcher
private

Definition at line 25 of file java_class_loader_limit.h.

Referenced by load_class_file(), and setup_class_load_limit().

◆ set_matcher

std::set<std::string> java_class_loader_limitt::set_matcher
private

Definition at line 26 of file java_class_loader_limit.h.

Referenced by load_class_file(), and setup_class_load_limit().

◆ use_regex_match

bool java_class_loader_limitt::use_regex_match
private

Whether to use regex_matcher instead of set_matcher.

Definition at line 24 of file java_class_loader_limit.h.

Referenced by load_class_file(), and setup_class_load_limit().


The documentation for this class was generated from the following files: