DeclassificationNode

class DeclassificationNode(expression: AtomicExpressionNode, fromLabel: LabelNode?, toLabel: LabelNode, sourceLocation: SourceLocation) : DowngradeNode

Revealing the result of an expression (reducing confidentiality).

Constructors

DeclassificationNode
Link copied to clipboard
fun DeclassificationNode(expression: AtomicExpressionNode, fromLabel: LabelNode?, toLabel: LabelNode, sourceLocation: SourceLocation)

Functions

copy
Link copied to clipboard
open override fun copy(children: List<Node>): DeclassificationNode

Returns a shallow copy of this node where the child nodes are replaced by children.

toDocument
Link copied to clipboard
override fun toDocument(): Document
toDocumentWithMetadata
Link copied to clipboard
fun toDocumentWithMetadata(metadata: Metadata): Document

Returns a pretty representation of this Node where each descendant is decorated using metadata.

toSurfaceNode
Link copied to clipboard
open override fun toSurfaceNode(): DeclassificationNode

override fun toSurfaceNode(metadata: Metadata): ExpressionNode

Returns a representation of this node in the surface syntax.

Properties

children
Link copied to clipboard
override val children: Iterable<AtomicExpressionNode>
expression
Link copied to clipboard
open override val expression: AtomicExpressionNode

Expression whose label is being downgraded.

fromLabel
Link copied to clipboard
open override val fromLabel: LabelNode?

The label expression must have before the downgrade.

sourceLocation
Link copied to clipboard
open override val sourceLocation: SourceLocation
toLabel
Link copied to clipboard
open override val toLabel: LabelNode

The label after the downgrade.