Package org.ek9lang.compiler.common
package org.ek9lang.compiler.common
Common parts of processing that can be reused across various phases.
-
ClassDescriptionThe abstract base on most antlr listeners.Predicate to see if an aggregate mandated pure in its construction.Checks if the body of a method/operator is appropriate.Used for variable forms of simple code flow analysis.Designed to be used in a transient manner when interacting with variables.Check to see if any of the compilable sources have errors.As and when sources are processed during each phase of the compilation.For compiler, errors, warning and other information from the compiler.Register this event listener with the compiler to pick up on any warnings of errors during compilation.Just expends the standard reporter to use the EK9Comp message prefix.Checks for the containing construct type and whether it is marked as abstract or not.Test if a symbol is externally implemented.A cut down visitor that just deals with packages at a basic level.We need an error listener for the lexing parsing and also our own tree visiting.Fine detail of the error.The type of the error.The details of an error, position, etc.What is the semantic nature of the error.Test if a symbol is externally implemented.For when we just need to read ek9 files and pull out bits and bobs rather than actually compiling.Useful when attempting to traverse up stacks to find both the method and its parent aggregate.Is the token a simple assignment, i.e.Checks for both abstract and override.An immutable snapshot of EK9 main package directives.Just processes a bit of some EK9 source for a simple or generic type def, to return the context.Checks in the context to see if a returning variableDeclaration or a body is defined.Check trait specifics on constructors/methods/operators, Allowing missing body but marking as abstract.Designed to ensure consistent reporting as part of the command line commands and executions.Designed to be extended by rules and checkers.This stack object is only designed to be used when first parsing.Just focussed on ensuring that scopes are correct push on to the scope stack.Models information used in code analysis for variable variable states.Used as external helper to record symbols and scopes across the parser.Check trait specifics on methods/operators.Pass a string of an ek9 typeDef in and use the EK9 parser to just handle the breaking up of a String of a TypeDef into a structure and names.Designed to be used in phase3 only on or after - FULL_RESOLUTION.Used to check if variables within code blocks when declared without being initialised, actually get initialised before they are used.Checks if a variable should be processed as a possible uninitialised variable.Checks to see if a property on an aggregate is safe to access.