Package edu.cornell.cs.apl.viaduct.analysis

Types

AnalysisProvider
Link copied to clipboard
interface AnalysisProvider<Analysis>
InformationFlowAnalysis
Link copied to clipboard
class InformationFlowAnalysis

Associates Variables with their Labels.

NameAnalysis
Link copied to clipboard
class NameAnalysis

Associates each use of a Name with its declaration, and every Name declaration with the set of its uses.

OutParameterInitializationAnalysis
Link copied to clipboard
class OutParameterInitializationAnalysis

Analysis that ensures all out parameters of functions are initialized before they are used and before the function returns.

ProtocolAnalysis
Link copied to clipboard
class ProtocolAnalysis(program: ProgramNode, protocolComposer: ProtocolComposer)

Associates each StatementNode with the Protocols involved in its execution.

TypeAnalysis
Link copied to clipboard
class TypeAnalysis

Associates Variables with their Types.

Functions

createdVariables
Link copied to clipboard
fun StatementNode.createdVariables(): List<Variable>
descendants
Link copied to clipboard
fun Node.descendants(): Sequence<Node>

Returns this node and all its descendants in post order.

descendantsIsInstance
Link copied to clipboard
inline fun <T : Node> Node.descendantsIsInstance(): Sequence<T>

Returns all instances of T contained in this node (which may include this node).

freshVariableNameGenerator
Link copied to clipboard
fun Node.freshVariableNameGenerator(): FreshNameGenerator

A FreshNameGenerator that will avoid all Variable names in this node.

immediateRHS
Link copied to clipboard
fun StatementNode.immediateRHS(): List<ExpressionNode>
involvedVariables
Link copied to clipboard
fun ExpressionNode.involvedVariables(): List<Variable>

Properties

main
Link copied to clipboard
val ProgramNode.main: FunctionDeclarationNode

Returns the declaration of mainFunction function in this program.

mainFunction
Link copied to clipboard
val mainFunction: FunctionName

Name of the "main" function.