An argument to a function.
Definition at line 226 of file tesla.proto.
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... | |
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.
Enumerator | |
---|---|
Constant | |
Field |
Definition at line 227 of file tesla.proto.
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==().
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().
enum tesla::Argument::Type tesla::Argument::type = 1 |
Referenced by tesla::ArgString(), tesla::DotName(), tesla::MatchPattern(), 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==().