Package edu.cornell.cs.apl.viaduct.errors
Types
Superclass of all errors caused by bad user input to the compiler.
Thrown when an EndorsementNode modifies confidentiality.
Thrown when the lexer encounters an illegal character.
Thrown when the compiler reaches an impossible state.
Thrown when a function or a method is given too many or too few arguments.
Superclass of errors related to information flow.
Thrown when the control flow influences data in a way that violates security.
Thrown when a term's output flows to a location that would violate information flow security.
Thrown when a DeclassificationNode modifies confidentiality.
Thrown when a break
, continue
, or a similar statement occurs outside the scope of a loop.
Thrown when the inferred label of a node does not match its annotated label.
Thrown when a DowngradeNode node violate the non-malleable information flow control restriction.
Thrown when a Name has multiple declarations.
Thrown when trying to compile a program with no host declarations.
Thrown when trying to compile a program with no main.
Thrown when a required protocol annotation in node is not found.
Thrown when protocol selection cannot find a solution.
Thrown when the parser runs into an unexpected token.
Thrown when the inferred type of an AST node does not match its expected type.
Thrown when a Name is referenced before it is defined.
Thrown when a function is given an extra argument.
Thrown when an object is declared with an unknown datatype (class name).
Thrown when an object is called with a method it does not recognize.
Thrown when an unknown Node is tagged as an ObjectDeclaration.