Expand description
The Aranya Policy Language’s AST.
See the policy book for more information on the policy language.
Modules§
- thir
- Typed High-level Intermediate Representation
Macros§
Structs§
- Action
Definition - An action definition
- Archived
Fact Definition - An archived
FactDefinition - Archived
Field Definition - An archived
FieldDefinition - Archived
Ident - An archived
Ident - Archived
Param - An archived
Param - Archived
Result Type Kind - An archived
ResultTypeKind - ArchivedV
Type - An archived
VType - Check
Statement - Check that a boolean expression is true, and fail otherwise
- Command
Definition - A command definition
- Create
Statement - Create a fact
- Delete
Statement - Delete a fact
- Effect
Definition - An effect definition
- Effect
Field Definition - An identifier and its type and dynamic effect marker
- Enum
Definition - Enumeration definition
- Enum
Reference - A reference to an enumeration, e.g.
Color::Red. - Expression
- All of the things which can be in an expression.
- Fact
Definition - A schema definition for a fact
- Fact
Definition Resolver - The resolver for an archived
FactDefinition - Fact
Literal - A fact and its key/value field values.
- Field
Definition - An identifier and its type
- Field
Definition Resolver - The resolver for an archived
FieldDefinition - Finish
Function Definition - A finish function definition. This is slightly different than a regular function since it cannot return values and can only execute finish block statements.
- Foreign
Function Call - A foreign function call with a list of arguments.
- Function
Call - A function call with a list of arguments.
- Function
Decl - Encapsulates both FunctionDefinition and FinishFunctionDefinition for the purpose of parsing FFI function declarations.
- Function
Definition - A function definition
- Global
LetStatement - A globally scopped let statement
- Ident
- An identifier.
- Ident
Resolver - The resolver for an archived
Ident - Identifier
- A textual identifier which matches
[a-zA-Z][a-zA-Z0-9_]*. - IfStatement
- Test a series of conditions and execute the statements for the first true condition.
- Invalid
Identifier - Not a valid
Identifiervalue. - Invalid
Text - Not a valid
Textvalue. - Invalid
Version - An invalid version string was provided to
Version::from_str. - LetStatement
- Define a variable with an expression
- MapStatement
- Iterate over the results of a query, and execute some statements for each one.
- Match
Arm - One arm of a match statement
- Match
Expression - Match statement expression
- Match
Expression Arm - Match arm expression
- Match
Statement - Match a value and execute one possibility out of many
- Named
Struct - A named struct literal
- Param
- An action or function parameter.
- Param
Resolver - The resolver for an archived
Param - Policy
- The policy AST root
- Result
Type Kind - Result type kind
- Result
Type Kind Resolver - The resolver for an archived
ResultTypeKind - Return
Statement - Return from a function
- Span
- A range in the source text.
- Statement
- Statements in the policy language. Not all statements are valid in all contexts.
- Struct
Definition - A struct definition
- Text
- A string-like value which is utf8 without nul bytes.
- Update
Statement - Update a fact
- VType
- The type of a value
- VType
Resolver - The resolver for an archived
VType
Enums§
- Archived
Persistence - An archived
Persistence - Archived
Type Kind - An archived
TypeKindThe archived kind of aVType. - Expr
Kind - The kind of
Expression. - Fact
Count Type - How many facts to expect when counting
- Fact
Field - Value part of a key/value pair for a fact field.
- Internal
Function - Expression atoms with special rules or effects.
- Language
Context - A container for a statement or expression
- Match
Pattern - Match arm pattern
- Persistence
- Persistence mode for commands and actions
- Persistence
Resolver - The resolver for an archived
Persistence - Result
Pattern - Result pattern for matching Ok(x) or Err(e)
- Stmt
Kind - The kind of
Statement. - Struct
Item - Struct field or insertion reference
- Type
Kind - The kind of a
VType. - Type
Kind Resolver - The resolver for an archived
TypeKind - Version
- Policy language version
Traits§
- Spanned
- A trait for types that can provide a source span.