Computer Laboratory

tesla::Argument Struct Reference

Detailed Description

An argument to a function.

Definition at line 226 of file tesla.proto.

+ Collaboration diagram for tesla::Argument:

Public Types

enum  Type { Constant = 1, Field = 5 }
 
enum  MatchType { Exact = 1, Mask = 3 }
 Ways that we can match a constant: exactly, as flags (OR) or a mask (AND). More...
 

Public Attributes

enum tesla::Argument::Type type = 1
 
enum tesla::Argument::MatchType index = 2
 An index for the variable within an automaton. More...
 
optional string name = 3
 The name of the referenced variable (if applicable, for debugging). More...
 
optional int64 value = 5
 The integer value. More...
 
optional MatchType constantMatch = 6 [ default = Exact ]
 Values that are ORed together in the mask. More...
 
optional Argument indirection = 7
 In an indirect expression like '&x' or '*x', this is 'x'. More...
 
optional StructField field = 8
 If type == Field, this is the field holding the value. More...
 

Member Enumeration Documentation

Ways that we can match a constant: exactly, as flags (OR) or a mask (AND).

Enumerator
Exact 
Mask 

Definition at line 233 of file tesla.proto.

233 { Exact = 1; Flags = 2; Mask = 3; }
Enumerator
Constant 
Field 

Definition at line 227 of file tesla.proto.

227 { Constant = 1; Variable = 2; Any = 3; Indirect = 4; Field = 5; }

Member Data Documentation

optional MatchType tesla::Argument::constantMatch = 6 [ default = Exact ]

Values that are ORed together in the mask.

Definition at line 253 of file tesla.proto.

optional StructField tesla::Argument::field = 8

If type == Field, this is the field holding the value.

Definition at line 259 of file tesla.proto.

Referenced by tesla::ArgString(), tesla::DotName(), and tesla::ShortName().

enum tesla::Argument::MatchType tesla::Argument::index = 2

An index for the variable within an automaton.

For instance, if an assertion refers to foo(x,y) and bar(y,z), the arguments to foo are [0,1] within the automata and the arguments to bar are [1,2].

Only applicable when type == Variable.

Referenced by tesla::ArgString(), and tesla::operator==().

optional Argument tesla::Argument::indirection = 7

In an indirect expression like '&x' or '*x', this is 'x'.

Definition at line 256 of file tesla.proto.

Referenced by tesla::ArgString(), tesla::DotName(), and tesla::ShortName().

optional string tesla::Argument::name = 3

The name of the referenced variable (if applicable, for debugging).

Definition at line 247 of file tesla.proto.

Referenced by tesla::ArgString(), tesla::DotName(), tesla::operator==(), and tesla::ShortName().

optional int64 tesla::Argument::value = 5

The integer value.

Definition at line 250 of file tesla.proto.

Referenced by tesla::MatchPattern(), and tesla::operator==().


The documentation for this struct was generated from the following file: