Libraries.Language.Compile.QuorumBytecodeListener Documentation
Inherits from: Libraries.Language.Object, Libraries.Language.Compile.QuorumSourceListener
Summary
Actions Summary Table
Actions Documentation
Compare(Libraries.Language.Object object)
This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.
Example Code
Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)
Parameters
- Libraries.Language.Object: The object to compare to.
Return
integer: The Compare result, Smaller, Equal, or Larger.
DoAndOr(Libraries.Language.Compile.Context.AndOrContext context)
else we're making a call on a field, so get it off the stack and take a lo
Parameters
EnterAccessModifier(Libraries.Language.Compile.Context.AccessModifierContext context)
Parameters
EnterAction(Libraries.Language.Compile.Context.ActionContext context)
Parameters
EnterActionCall(Libraries.Language.Compile.Context.ActionCallContext ctx)
Parameters
EnterActionExpressionList(Libraries.Language.Compile.Context.ActionExpressionListContext context)
Parameters
EnterActionHeader(Libraries.Language.Compile.Context.ActionContext context)
Parameters
EnterActionsNoClass(Libraries.Language.Compile.Context.ActionsNoClassContext context)
get the method na
Parameters
EnterAddition(Libraries.Language.Compile.Context.AdditionContext addition)
Parameters
EnterAlertStatement(Libraries.Language.Compile.Context.AlertContext context)
Parameters
EnterAlwaysStatement(Libraries.Language.Compile.Context.AlwaysStatementContext context)
get the exception variable from the blo
Parameters
EnterAnd(Libraries.Language.Compile.Context.AndOrContext context)
make sure the call is allowed and inform the writ
Parameters
EnterAssignmentDeclaration(Libraries.Language.Compile.Context.AssignmentDeclaractionContext context)
Parameters
EnterBlock(Libraries.Language.Compile.Context.BlockContext context)
Parameters
EnterBlueprintAction(Libraries.Language.Compile.Context.ActionContext context)
Parameters
EnterBoolean(Libraries.Language.Compile.Context.BooleanContext context)
Parameters
EnterCast(Libraries.Language.Compile.Context.CastContext context)
Parameters
EnterCheckStatement(Libraries.Language.Compile.Context.CheckContext context)
Parameters
EnterClassStatements(Libraries.Language.Compile.Context.ClassStatementsContext context)
Parameters
EnterClassType(Libraries.Language.Compile.Context.ClassTypeContext context)
Parameters
EnterConstructor(Libraries.Language.Compile.Context.ConstructorContext context)
get the method na
Parameters
EnterDetectStatement(Libraries.Language.Compile.Context.DetectStatementContext context)
Parameters
EnterDocumentation(Libraries.Language.Compile.Context.DocumentationContext context)
Parameters
EnterElseIfStatement(Libraries.Language.Compile.Context.IfContext context)
currentBlock:SetReturnThisBlock(tru
Parameters
EnterElseStatement(Libraries.Language.Compile.Context.IfContext context)
check all my blocks to make sure we satisfy a retu
Parameters
EnterEquals(Libraries.Language.Compile.Context.EqualsContext context)
Parameters
EnterFormalParameter(Libraries.Language.Compile.Context.FormalParameterContext context)
Parameters
EnterFullClassDeclaration(Libraries.Language.Compile.Context.FullClassDeclarationContext context)
Parameters
EnterGenericDeclaration(Libraries.Language.Compile.Context.GenericDeclarationContext context)
Parameters
EnterGenericStatement(Libraries.Language.Compile.Context.GenericContext context)
Parameters
EnterIfStatement(Libraries.Language.Compile.Context.IfContext context)
Parameters
EnterInequality(Libraries.Language.Compile.Context.InequalityContext context)
Parameters
EnterInheritStatement(Libraries.Language.Compile.Context.InheritStatementContext context)
Parameters
EnterInheritStatements(Libraries.Language.Compile.Context.InheritStatementsContext context)
Parameters
EnterInitialParentActionCall(Libraries.Language.Compile.Context.ActionCallContext ctx)
handle any casts, if there are a
Parameters
EnterInput(Libraries.Language.Compile.Context.InputContext context)
Parameters
EnterInputNoParameters(Libraries.Language.Compile.Context.InputContext context)
Parameters
EnterInteger(Libraries.Language.Compile.Context.IntegerContext int)
Parameters
EnterIs(Libraries.Language.Compile.Context.IsContext context)
Parameters
EnterLoopStatement(Libraries.Language.Compile.Context.LoopContext context)
Parameters
EnterMe(Libraries.Language.Compile.Context.MeContext context)
Parameters
EnterMeVariableAccess(Libraries.Language.Compile.Context.MeVariableAccessContext context)
Parameters
EnterMinus(Libraries.Language.Compile.Context.UnaryMinusContext context)
Parameters
EnterMultiplication(Libraries.Language.Compile.Context.MultiplicationContext context)
Parameters
EnterNoActionsNoClass(Libraries.Language.Compile.Context.NoActionsNoClassContext context)
Parameters
EnterNoClassDeclaration(Libraries.Language.Compile.Context.NoClassDeclarationContext ctx)
Parameters
EnterNoTypeAssignment(Libraries.Language.Compile.Context.NoTypeAssignmentContext context)
the system should have already output an error, so retu
Parameters
EnterNormalAssignment(Libraries.Language.Compile.Context.NormalAssignmentContext context)
Parameters
EnterNot(Libraries.Language.Compile.Context.NotContext context)
Parameters
EnterNumber(Libraries.Language.Compile.Context.NumberContext context)
Parameters
EnterObjectAssignment(Libraries.Language.Compile.Context.ObjectAssignmentContext context)
Parameters
EnterOr(Libraries.Language.Compile.Context.AndOrContext context)
Parameters
EnterOutputStatement(Libraries.Language.Compile.Context.OutputContext context)
Parameters
EnterPackageRule(Libraries.Language.Compile.Context.PackageContext context)
Parameters
EnterParentAssignment(Libraries.Language.Compile.Context.ParentAssignmentContext context)
Parameters
EnterParentFieldAccess(Libraries.Language.Compile.Context.ParentFieldAccessContext context)
Parameters
EnterParentVariableFunctionCall(Libraries.Language.Compile.Context.ParentVariableFunctionCallContext context)
the left hand side for the user if they so choo
Parameters
EnterParentVariableSoloFunctionCall(Libraries.Language.Compile.Context.ParentVariableFunctionCallContext context)
it is mapped to a generic, so find the variable it is mapped
Parameters
EnterParenthesisExpression(Libraries.Language.Compile.Context.ParenthesisContext context)
Parameters
EnterQualifiedName(Libraries.Language.Compile.Context.QualifiedNameContext context)
Parameters
EnterReturnStatement(Libraries.Language.Compile.Context.ReturnContext context)
Parameters
EnterSayStatement(Libraries.Language.Compile.Context.SayContext context)
Parameters
EnterStart(Libraries.Language.Compile.Context.StartContext context)
Parameters
EnterStatement(Libraries.Language.Compile.Context.StatementContext context)
Parameters
EnterSystemAction(Libraries.Language.Compile.Context.ActionContext context)
Parameters
EnterText(Libraries.Language.Compile.Context.TextContext context)
Parameters
EnterUndefined(Libraries.Language.Compile.Context.UndefinedContext context)
Parameters
EnterUse(Libraries.Language.Compile.Context.UseContext context)
Parameters
EnterVariableFunctionCall(Libraries.Language.Compile.Context.VariableFunctionCallContext context)
no index, this is an err
Parameters
EnterVariableSoloFunctionCall(Libraries.Language.Compile.Context.VariableFunctionCallContext context)
hey awesome, that was eas
Parameters
Equals(Libraries.Language.Object object)
This action determines if two objects are equal based on their hash code values.
Example Code
use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)
Parameters
- Libraries.Language.Object: The to be compared.
Return
boolean: True if the hash codes are equal and false if they are not equal.
ExitAccessModifier(Libraries.Language.Compile.Context.AccessModifierContext context)
Parameters
ExitAction(Libraries.Language.Compile.Context.ActionContext context)
Parameters
ExitActionCall(Libraries.Language.Compile.Context.ActionCallContext context)
get the full static key of the pare
Parameters
ExitActionExpressionList(Libraries.Language.Compile.Context.ActionExpressionListContext context)
thus, if there's a return type, we need to pop it off the stac
Parameters
ExitActionHeader(Libraries.Language.Compile.Context.ActionContext context)
Parameters
ExitActionsNoClass(Libraries.Language.Compile.Context.ActionsNoClassContext context)
Parameters
ExitAddition(Libraries.Language.Compile.Context.AdditionContext addition)
Parameters
ExitAlertStatement(Libraries.Language.Compile.Context.AlertContext context)
Parameters
ExitAlwaysStatement(Libraries.Language.Compile.Context.AlwaysStatementContext context)
check to make sure this is valid in the current clas
Parameters
ExitAnd(Libraries.Language.Compile.Context.AndOrContext context)
I don't know why, but this fixes a Quorum 2 bu
Parameters
ExitAssignmentDeclaration(Libraries.Language.Compile.Context.AssignmentDeclaractionContext context)
Parameters
ExitBlock(Libraries.Language.Compile.Context.BlockContext context)
Parameters
ExitBlueprintAction(Libraries.Language.Compile.Context.ActionContext context)
Parameters
ExitBoolean(Libraries.Language.Compile.Context.BooleanContext context)
Parameters
ExitCast(Libraries.Language.Compile.Context.CastContext context)
if it is, again previous phase will catch th
Parameters
ExitCheckStatement(Libraries.Language.Compile.Context.CheckContext context)
Parameters
ExitClass()
ExitClassStatements(Libraries.Language.Compile.Context.ClassStatementsContext context)
Parameters
ExitClassType(Libraries.Language.Compile.Context.ClassTypeContext context)
Parameters
ExitConstructor(Libraries.Language.Compile.Context.ConstructorContext context)
Parameters
ExitDetectStatement(Libraries.Language.Compile.Context.DetectStatementContext context)
Parameters
ExitDocumentation(Libraries.Language.Compile.Context.DocumentationContext context)
Parameters
ExitElseIfStatement(Libraries.Language.Compile.Context.IfContext context)
get all of the elseif blocks and check them t
Parameters
ExitElseStatement(Libraries.Language.Compile.Context.IfContext context)
there is a problem and we have previously thrown a compiler err
Parameters
ExitEquals(Libraries.Language.Compile.Context.EqualsContext context)
it's not in the current cla
Parameters
ExitFormalParameter(Libraries.Language.Compile.Context.FormalParameterContext context)
Parameters
ExitFullClassDeclaration(Libraries.Language.Compile.Context.FullClassDeclarationContext context)
Parameters
ExitGenericDeclaration(Libraries.Language.Compile.Context.GenericDeclarationContext context)
Parameters
ExitGenericStatement(Libraries.Language.Compile.Context.GenericContext context)
Parameters
ExitIfStatement(Libraries.Language.Compile.Context.IfContext context)
Parameters
ExitInequality(Libraries.Language.Compile.Context.InequalityContext context)
get the most recent type off the sta
Parameters
ExitInheritStatement(Libraries.Language.Compile.Context.InheritStatementContext context)
Parameters
ExitInheritStatements(Libraries.Language.Compile.Context.InheritStatementsContext context)
Parameters
ExitInitialParentActionCall(Libraries.Language.Compile.Context.ActionCallContext ctx)
issue an error, this is not allowe
Parameters
ExitInput(Libraries.Language.Compile.Context.InputContext context)
Parameters
ExitInputNoParameters(Libraries.Language.Compile.Context.InputContext context)
check if it's either text or undefin
Parameters
ExitInteger(Libraries.Language.Compile.Context.IntegerContext context)
Parameters
ExitIs(Libraries.Language.Compile.Context.IsContext context)
if it isn't text, it better be either Object or a subcla
Parameters
ExitLoopStatement(Libraries.Language.Compile.Context.LoopContext context)
Parameters
ExitMe(Libraries.Language.Compile.Context.MeContext context)
Parameters
ExitMeVariableAccess(Libraries.Language.Compile.Context.MeVariableAccessContext context)
Parameters
ExitMinus(Libraries.Language.Compile.Context.UnaryMinusContext context)
Parameters
ExitMultiplication(Libraries.Language.Compile.Context.MultiplicationContext context)
Parameters
ExitNoActionsNoClass(Libraries.Language.Compile.Context.NoActionsNoClassContext context)
Parameters
ExitNoClassDeclaration(Libraries.Language.Compile.Context.NoClassDeclarationContext ctx)
Parameters
ExitNoTypeAssignment(Libraries.Language.Compile.Context.NoTypeAssignmentContext context)
we can't allow this to be instantiated, throw an err
Parameters
ExitNormalAssignment(Libraries.Language.Compile.Context.NormalAssignmentContext context)
the system should have already output an error, so retu
Parameters
ExitNot(Libraries.Language.Compile.Context.NotContext context)
Parameters
ExitNumber(Libraries.Language.Compile.Context.NumberContext context)
Parameters
ExitObjectAssignment(Libraries.Language.Compile.Context.ObjectAssignmentContext context)
Parameters
ExitOr(Libraries.Language.Compile.Context.AndOrContext context)
Parameters
ExitOutputStatement(Libraries.Language.Compile.Context.OutputContext context)
now check to see if it's even possible that this type "is" the other ty
Parameters
ExitPackageRule(Libraries.Language.Compile.Context.PackageContext context)
Parameters
ExitParentAssignment(Libraries.Language.Compile.Context.ParentAssignmentContext context)
if it is, again previous pha
Parameters
ExitParentFieldAccess(Libraries.Language.Compile.Context.ParentFieldAccessContext context)
Parameters
ExitParentVariableFunctionCall(Libraries.Language.Compile.Context.ParentVariableFunctionCallContext context)
this action is private and in another clas
Parameters
ExitParentVariableSoloFunctionCall(Libraries.Language.Compile.Context.ParentVariableFunctionCallContext context)
primitive, so get the object versi
Parameters
ExitParenthesisExpression(Libraries.Language.Compile.Context.ParenthesisContext context)
Parameters
ExitQualifiedName(Libraries.Language.Compile.Context.QualifiedNameContext context)
Parameters
ExitReturnStatement(Libraries.Language.Compile.Context.ReturnContext context)
throw a compiler erro
Parameters
ExitSayStatement(Libraries.Language.Compile.Context.SayContext context)
Parameters
ExitStart(Libraries.Language.Compile.Context.StartContext context)
Parameters
ExitStatement(Libraries.Language.Compile.Context.StatementContext context)
if this is not a void method, handle the retu
Parameters
ExitSystemAction(Libraries.Language.Compile.Context.ActionContext context)
Parameters
ExitText(Libraries.Language.Compile.Context.TextContext context)
Parameters
ExitUndefined(Libraries.Language.Compile.Context.UndefinedContext context)
Parameters
ExitUse(Libraries.Language.Compile.Context.UseContext context)
Parameters
ExitVariableFunctionCall(Libraries.Language.Compile.Context.VariableFunctionCallContext context)
this action must be defined in a parent. Map its generics separate
Parameters
ExitVariableSoloFunctionCall(Libraries.Language.Compile.Context.VariableFunctionCallContext context)
matters or no
Parameters
FinishActionResolution(Libraries.Language.Compile.Translate.ActionCallOpcode actionCall, Libraries.Language.Compile.Symbol.ActionCallResolution resolved)
the left hand side for the user if they so choo
Parameters
- Libraries.Language.Compile.Translate.ActionCallOpcode
- Libraries.Language.Compile.Symbol.ActionCallResolution
GetBuildFile()
Return
GetBuildInterfaceFile()
Return
GetClassOpcode()
This returns true if a say statement exists within this class.
Return
Libraries.Language.Compile.Translate.ClassOpcode:
GetCompilerErrorManager()
Return
Libraries.Language.Compile.CompilerErrorManager
GetFile()
Return
GetHashCode()
This action gets the hash code for an object.
Example Code
Object o
integer hash = o:GetHashCode()
Return
integer: The integer hash code of the object.
GetLexer()
Return
Libraries.Language.Compile.Lexer
GetSource()
Return
text
GetSymbolTable()
Return
Libraries.Language.Compile.Symbol.SymbolTable
GetTypeChecker()
Return
Libraries.Language.Compile.Symbol.TypeChecker
HasSayStatementInClass()
This returns true if a say statement exists within this class.
Return
boolean:
SetCompilerErrorManager(Libraries.Language.Compile.CompilerErrorManager errors)
Parameters
SetFile(Libraries.System.File file)
Parameters
SetLexer(Libraries.Language.Compile.Lexer lexer)
Parameters
SetSource(text source)
Parameters
SetSymbolTable(Libraries.Language.Compile.Symbol.SymbolTable table)
Parameters
SetTypeChecker(Libraries.Language.Compile.Symbol.TypeChecker checker)
Parameters
SyntaxError(Libraries.Language.Compile.CompilerError error)
This action is called only under the condition that we are receiving error message events from the underlying parser technology (e.g., ANTLR). If we are, the messages will be propogated. Generally, this action does not need to be overriden.