Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
il::array_ref_expressionRepresents a reference to any non-pointer array
il::array_typeAbstract class representing a non-pointer array type
il::assemblyInline assembly
il::base_typeRepresents base types like integer and float
il::binop_expressionAn expression of the form exp1 binop exp2
il::blockRepresents a block statement {decls; S1; ... ; S_k}
il::block_expressionThis is used to model a gcc extension where you can write code like a = ({args[1]+1;args[2];}); ({args[1]+1;args[2];}) evaluates to the result of the last statement in the block
il::break_statementRepresents a break construct
il::builtin_expressionUsed to model "built-in" gcc expressions such as va_arg()
il::case_labelA case label
il::cast_expressionRepresents a cast (t) exp
il::complex_const_expComplex number representation
il::complex_typeType of a complex number
il::conditional_expressionConditional expression of the form exp ? a :b
il::const_expressionAn abstract class representing integer, real or string constants
il::constarray_typeThe size of a const_array is known at compile time
il::continue_statementA continue construct inside a loop
il::control_statementAn abstract class representing any control statement
il::declarationAn abstract class representing variable and function decalarations
il::deref_expressionA pointer dereference expression of the form *exp
il::do_while_loopA do while loop construct
il::enum_typeRepresents an enum type
il::expr_list_expressionAn expression list expression consists of comma separated expressions as in i++, j++ in a for loop
il::expressionAn abstract class that all different expressions inherit from
il::expression_instructionExpression used as an instruction such as i++;
il::field_ref_expressionA field reference expression of the form exp.field The field is represented as a record_info
il::fileFile representation
il::fixed_const_expDecimal constant representation
il::for_loopA for loop construct
il::function_address_expressionResult of taking the address of a function
il::function_call_expressionA function call
il::function_declarationRepresents a function declaration
il::function_pointer_call_expressionRepresents a function pointer invocation
il::function_typeRepresents a function type
il::goto_statementA goto statement
il::if_statementThe representation of an if statement
il::initializer_list_expressionAn initializer list expression such as struct point {int x; int y;} p = {1, 2};
il::integer_const_expRepresentation of an integer constant
il::labelA label
il::locationA location in the source file is identified by its starting and ending lines and byte offsets for the start and end lines
il::modify_expressionUsed to model C feature where set statements can be used as expressions, e.g., c = (a=b)
il::nodeRepresents a generic AST node, such as a statement, expression, declaration etc
il::noop_instructionA noop instruction
il::pointer_typePointer to type elem_type
il::real_const_expA real constant expression
il::record_infoRepresents struct fields (name,offset etc.)
il::record_typeStruct, class, union
il::return_statementReturn exp;
il::set_instructionLhs = rhs;
il::string_const_expA string constant
il::switch_statementThe switch construct
il::translation_unitA translation unit consists of one or more files
il::try_catch_statementThe representation of an try-catch statement
il::try_finally_statementThe representation of a try-finally statement
il::typeParent class of all the concrete types
il::unop_expressionAn expression of the form (unop exp)
il::vararray_typeSize of a vararray may not be known at compile time
il::variableRepresentation of a program variable
il::variable_declarationRepresents a variable declaration, possibly containing an initialization expression
il::variable_expressionA variable expression
il::vector_const_expA vector constant expression
il::vector_typeGCC vector type
il::while_loopA while loop construct
sail::AddressLabelV = &label. This is used for modeling a GNU C extension that allows taking address of labels
sail::AddressStringV = &str_constant
sail::AddressVarV = &s. Note that the left hand side is a symbol rather than a variable because taking the address of constants is legal in C
sail::ArrayRefReadV1 = v2[index].(f1 ... .fk); field selectors are optional -- this instruction includes field selectors only if ALLOW_OFFSETS is enabled
sail::ArrayRefWriteV1[index].( = s. Field selectors are optional and appear only if ALLOW_OFFSETS is enabled
sail::AssemblyRepresents inline assembly
sail::AssignmentV = s
sail::AssumeAssume(predicate) serves as an annotation for static analysis
sail::AssumeSizeA convenience instruction for annotating buffer sizes. assume_size(b, s) indicates size of buffer b is s (in bytes)
sail::BasicBlockRepresents a basic block in the CFG
sail::BinopAn instruction of the form v = s1 binop s2
sail::BlockAn abstract class that BasicBlock and SuperBlock inherit from
sail::BranchA branch instruction is of the form s1!=0 : l1, s2!=0 : l_2 , ... s_k!=0:l_k
sail::CastA cast instruction of the form v = (T) s
sail::CfgRepresentation of a control flow graph
sail::CfgEdgeRepresents an edge from a source block to a target block possibly labeled with some condition
sail::ConstantRepresents a constant
sail::DropVariableThis instruction is optional and marks the last use of temporaries introduced by SAIL
sail::FieldRefReadRepresents a field read instruction of the form v1 = v2.f1. ... .fk
sail::FieldRefWriteRepresents a field write of the form = s
sail::FunctionRepresentation of a function in the low-level language. Most of the work of translating the high-level language to the low-level language is done here
sail::FunctionCallRepresents a function call instruction of the form ret = f(s1, ... ,sn)
sail::FunctionPointerCallA function pointer call instruction is of the form ret = (*fn_ptr)(s1, ... sk)
sail::InstructionAll low-level instructions defined by SAIL inherit from Instruction
sail::JumpJump instruction to some label
sail::LabelA label represented by the string label_name
sail::LoadA load instruction of of the form v1 = *s.(f1...f_k) The field selectors are optional and only generated if ALLOW_OFFSETS enabled
sail::LoopInvocationInstructionIn SAIL loops can be treated as tail-recursive functions; this instruction represents a tail-recursive invocation of the loop body and corresponds to a back-edge
sail::SerializerThis class can be used to serialize a translation unit
sail::StaticAssertA static assert instruction of the form static_assert(predicate) tells the static analysis to check whether this predicate holds
sail::StoreA store instruction is of the form *s1.f1...fn = s2. Field selectors are optional and only appear if ALLOW_OFFSETS is enabled
sail::SummaryUnitA summary unit is either a function or a super block, i.e. any piece of code for which an analysis generates a summary
sail::SuperBlockThis is the structured representation of a loop with a single exit point
sail::SymbolRepresents either a variable or a constant
sail::TranslationUnitRepresents a single translation unit
sail::UnopAn instruction of the form v = (unop) s
sail::VariableRepresents a variable, which can be either an actual program variable or a temporary introduced by SAIL
Generated on Sun Oct 17 14:01:20 2010 by  doxygen 1.6.3