Skip to main content

Crate aranya_policy_module

Crate aranya_policy_module 

Source
Expand description

Policy Module

Defines core data types for compiled modules.

Re-exports§

pub use aranya_policy_ast as ast;

Modules§

ffi
Data definitions used by the FFI interface
named
NamedMap and associated traits and types.

Macros§

arg
Shorthand for creating Args.

Structs§

ActionDef
An action definition.
ActionDefResolver
The resolver for an archived ActionDef
ArchivedActionDef
An archived ActionDef
ArchivedAttribute
An archived Attribute
ArchivedCodeMap
An archived CodeMap
ArchivedCommandDef
An archived CommandDef
ArchivedFact
An archived Fact
ArchivedFactKey
An archived FactKey
ArchivedFactValue
An archived FactValue
ArchivedField
An archived Field
ArchivedLabel
An archived Label
ArchivedModule
An archived Module
ArchivedModuleV0
An archived ModuleV0
ArchivedStruct
An archived Struct
Attribute
A command attribute.
AttributeResolver
The resolver for an archived Attribute
CodeMap
The code map contains the original source and can map VM instructions to text ranges inside that source.
CodeMapResolver
The resolver for an archived CodeMap
CommandDef
A command definition.
CommandDefResolver
The resolver for an archived CommandDef
Fact
A Fact
FactKey
One labeled value in a fact key. A sequence of FactKeys mapped to a sequence of FactValues comprises a Fact.
FactKeyResolver
The resolver for an archived FactKey
FactResolver
The resolver for an archived Fact
FactValue
One labeled value in a fact value.
FactValueResolver
The resolver for an archived FactValue
Field
A struct or command field.
FieldResolver
The resolver for an archived Field
KVPair
A generic key/value pair. Used for Effects and Command fields. Technically identical to a FactValue but separate to distinguish usage.
Label
Labels are branch targets and execution entry points.
LabelResolver
The resolver for an archived Label
Module
The serializable state of a Machine.
ModuleResolver
The resolver for an archived Module
ModuleV0
The Version 0 module format
ModuleV0Resolver
The resolver for an archived ModuleV0
RangeError
An error for a range that doesn’t exist. Used in CodeMap.
SpannedText
This is a simplified version of Pest’s Span. We can’t use Pest’s version because we need to work in no_std environments.
Struct
A Struct value
StructResolver
The resolver for an archived Struct
UnsupportedVersion
Unsupported Module version.

Enums§

ArchivedExitReason
An archived ExitReason
ArchivedHashableValue
An archived HashableValue
ArchivedInstruction
An archived Instruction
ArchivedLabelType
An archived LabelType
ArchivedMeta
An archived Meta
ArchivedModuleData
An archived ModuleData
ArchivedTarget
An archived Target
ArchivedValue
An archived Value
ExitReason
Reason for ending execution.
ExitReasonResolver
The resolver for an archived ExitReason
HashableValue
The subset of Values that can be hashed. Only these types of values can be used in the key portion of a Fact.
HashableValueResolver
The resolver for an archived HashableValue
Instruction
The machine instruction types
InstructionResolver
The resolver for an archived Instruction
LabelType
Types of Labels
LabelTypeResolver
The resolver for an archived LabelType
Meta
Compiler Tracer metadata
MetaResolver
The resolver for an archived Meta
ModuleData
Versioned Module data.
ModuleDataResolver
The resolver for an archived ModuleData
Target
The target of a branch
TargetResolver
The resolver for an archived Target
Value
All of the value types allowed in the VM
ValueConversionError
Indicates that the Value conversion has failed
ValueResolver
The resolver for an archived Value
Version
Identifies a Module.

Traits§

TryAsMut
Like AsMut, but fallible.
TryFromValue
Trait for converting from a Value, similar to TryFrom<Value>.
Typed
Allows a type to be used by FFI derive.

Type Aliases§

BaseId
The base ID type.
FactKeyList
A list of fact keys.
FactValueList
A list of fact values.