Package edu.cornell.cs.apl.viaduct.errors

Types

CodeGenerationError
Link copied to clipboard
class CodeGenerationError(information: String, node: HasSourceLocation?) : CompilationError
CompilationError
Link copied to clipboard
abstract class CompilationError : Error, PrettyPrintable

Superclass of all errors caused by bad user input to the compiler.

ConfidentialityChangingEndorsementError
Link copied to clipboard
class ConfidentialityChangingEndorsementError(node: EndorsementNode, from: Label, to: Label) : InformationFlowError

Thrown when an EndorsementNode modifies confidentiality.

IllegalCharacterError
Link copied to clipboard
class IllegalCharacterError(location: SourceLocation) : CompilationError

Thrown when the lexer encounters an illegal character.

ImpossibleCaseError
Link copied to clipboard
abstract class ImpossibleCaseError : CompilationError

Thrown when the compiler reaches an impossible state.

IncorrectNumberOfArgumentsError
Link copied to clipboard
class IncorrectNumberOfArgumentsError(method: Located<Name>, expected: Int, actual: Arguments<*>) : CompilationError

Thrown when a function or a method is given too many or too few arguments.

InformationFlowError
Link copied to clipboard
abstract class InformationFlowError : CompilationError

Superclass of errors related to information flow.

InsecureControlFlowError
Link copied to clipboard
class InsecureControlFlowError(node: HasSourceLocation, nodeLabel: Label, pc: Label) : InformationFlowError

Thrown when the control flow influences data in a way that violates security.

InsecureDataFlowError
Link copied to clipboard
class InsecureDataFlowError(node: HasSourceLocation, nodeLabel: Label, to: Label) : InformationFlowError

Thrown when a term's output flows to a location that would violate information flow security.

IntegrityChangingDeclassificationError
Link copied to clipboard

Thrown when a DeclassificationNode modifies confidentiality.

InvalidConstructorCallError
Link copied to clipboard
class InvalidConstructorCallError(node: Node, constructorNeeded: Boolean) : CompilationError
JumpOutsideLoopScopeError
Link copied to clipboard
class JumpOutsideLoopScopeError(node: HasSourceLocation) : CompilationError

Thrown when a break, continue, or a similar statement occurs outside the scope of a loop.

LabelMismatchError
Link copied to clipboard
class LabelMismatchError(node: HasSourceLocation, actualLabel: Label, expectedLabel: Label) : InformationFlowError

Thrown when the inferred label of a node does not match its annotated label.

MalleableDowngradeError
Link copied to clipboard
class MalleableDowngradeError(node: DowngradeNode) : InformationFlowError

Thrown when a DowngradeNode node violate the non-malleable information flow control restriction.

NameClashError
Link copied to clipboard
class NameClashError(name: Name, firstDeclaration: SourceLocation, secondDeclaration: SourceLocation) : CompilationError

Thrown when a Name has multiple declarations.

NoApplicableProtocolError
Link copied to clipboard
class NoApplicableProtocolError(node: HasSourceLocation) : CompilationError

Thrown when there is no Protocol that can be assigned to node.

NoHostDeclarationsError
Link copied to clipboard
class NoHostDeclarationsError(source: String) : CompilationError

Thrown when trying to compile a program with no host declarations.

NoMainError
Link copied to clipboard
class NoMainError(source: String) : CompilationError

Thrown when trying to compile a program with no main.

NoProtocolAnnotationError
Link copied to clipboard
class NoProtocolAnnotationError(node: Node) : CompilationError

Thrown when a required protocol annotation in node is not found.

NoSelectionSolutionError
Link copied to clipboard
class NoSelectionSolutionError(program: ProgramNode) : CompilationError

Thrown when protocol selection cannot find a solution.

OutParameterInitializationError
Link copied to clipboard
class OutParameterInitializationError(parameter: ParameterNode, useSite: Node?) : CompilationError
ParameterDirectionMismatchError
Link copied to clipboard
class ParameterDirectionMismatchError(parameter: ParameterNode, argument: FunctionArgumentNode) : CompilationError
ParsingError
Link copied to clipboard
class ParsingError(location: SourceLocation, actualToken: String, expectedTokens: List<String>) : CompilationError

Thrown when the parser runs into an unexpected token.

RuntimeError
Link copied to clipboard
class RuntimeError(information: String, node: HasSourceLocation?) : CompilationError
TypeMismatchError
Link copied to clipboard
class TypeMismatchError(node: HasSourceLocation, actualType: Type, expectedType: Type) : CompilationError

Thrown when the inferred type of an AST node does not match its expected type.

UndefinedNameError
Link copied to clipboard
class UndefinedNameError(name: Located<Name>) : CompilationError

Thrown when a Name is referenced before it is defined.

UnexpectedArgumentError
Link copied to clipboard
class UnexpectedArgumentError(name: Located<ArgumentLabel>) : CompilationError

Thrown when a function is given an extra argument.

UnknownDatatypeError
Link copied to clipboard
class UnknownDatatypeError(objectName: ObjectVariableNode, className: ClassName) : CompilationError

Thrown when an object is declared with an unknown datatype (class name).

UnknownMethodError
Link copied to clipboard
class UnknownMethodError(objectName: ObjectVariableNode, methodName: MethodNameNode, objectType: ObjectType?, argumentTypes: List<ValueType>?) : CompilationError

Thrown when an object is called with a method it does not recognize.

UnknownObjectDeclarationError
Link copied to clipboard
class UnknownObjectDeclarationError(node: Node) : ImpossibleCaseError

Thrown when an unknown Node is tagged as an ObjectDeclaration.

ViaductInterpreterError
Link copied to clipboard
class ViaductInterpreterError(information: String, node: HasSourceLocation?) : CompilationError