Libraries.Language.Compile.CodeCompletionListener Documentation
The codeCompletionListener is a QuorumSourceListener designed to read expressions for code completion. It processes a limited subset of the language on a per line basis, notably expressions, and places an opcode on the opcode stack of a particular type. This type is the type being requested for code completion information.
Inherits from: Libraries.Language.Object, Libraries.Language.Compile.QuorumSourceListener
Summary
Actions Summary Table
Actions Documentation
CanCodeComplete()
Return
boolean
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)
Parameters
Empty()
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)
Parameters
EnterAddition(Libraries.Language.Compile.Context.AdditionContext addition)
Parameters
EnterAlertStatement(Libraries.Language.Compile.Context.AlertContext context)
Parameters
EnterAlwaysStatement(Libraries.Language.Compile.Context.AlwaysStatementContext context)
Parameters
EnterAnd(Libraries.Language.Compile.Context.AndOrContext context)
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)
Parameters
EnterDetectStatement(Libraries.Language.Compile.Context.DetectStatementContext context)
Parameters
EnterDocumentation(Libraries.Language.Compile.Context.DocumentationContext context)
Parameters
EnterElseIfStatement(Libraries.Language.Compile.Context.IfContext context)
Parameters
EnterElseStatement(Libraries.Language.Compile.Context.IfContext context)
Parameters
EnterEquals(Libraries.Language.Compile.Context.EqualsContext context)
Parameters
EnterFormalParameter(Libraries.Language.Compile.Context.FormalParameterContext context)
Parameters
EnterFullClassDeclaration(Libraries.Language.Compile.Context.FullClassDeclarationContext ctx)
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)
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)
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)
Parameters
EnterParentVariableSoloFunctionCall(Libraries.Language.Compile.Context.ParentVariableFunctionCallContext context)
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)
Parameters
EnterVariableSoloFunctionCall(Libraries.Language.Compile.Context.VariableFunctionCallContext context)
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)
Parameters
ExitActionExpressionList(Libraries.Language.Compile.Context.ActionExpressionListContext context)
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)
Parameters
ExitAnd(Libraries.Language.Compile.Context.AndOrContext context)
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)
Parameters
ExitCheckStatement(Libraries.Language.Compile.Context.CheckContext context)
Parameters
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)
Parameters
ExitElseStatement(Libraries.Language.Compile.Context.IfContext context)
Parameters
ExitEquals(Libraries.Language.Compile.Context.EqualsContext context)
Parameters
ExitFormalParameter(Libraries.Language.Compile.Context.FormalParameterContext context)
Parameters
ExitFullClassDeclaration(Libraries.Language.Compile.Context.FullClassDeclarationContext ctx)
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)
Parameters
ExitInheritStatement(Libraries.Language.Compile.Context.InheritStatementContext context)
Parameters
ExitInheritStatements(Libraries.Language.Compile.Context.InheritStatementsContext context)
Parameters
ExitInitialParentActionCall(Libraries.Language.Compile.Context.ActionCallContext ctx)
Parameters
ExitInput(Libraries.Language.Compile.Context.InputContext context)
Parameters
ExitInputNoParameters(Libraries.Language.Compile.Context.InputContext context)
Parameters
ExitInteger(Libraries.Language.Compile.Context.IntegerContext context)
get the name of the variable
Parameters
ExitIs(Libraries.Language.Compile.Context.IsContext context)
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)
Parameters
ExitNormalAssignment(Libraries.Language.Compile.Context.NormalAssignmentContext context)
Parameters
ExitNot(Libraries.Language.Compile.Context.NotContext context)
Parameters
ExitNumber(Libraries.Language.Compile.Context.NumberContext context)
for now, only do this for items with no parameters.
Parameters
ExitObjectAssignment(Libraries.Language.Compile.Context.ObjectAssignmentContext context)
Parameters
ExitOr(Libraries.Language.Compile.Context.AndOrContext context)
Parameters
ExitOutputStatement(Libraries.Language.Compile.Context.OutputContext context)
Parameters
ExitPackageRule(Libraries.Language.Compile.Context.PackageContext context)
Parameters
ExitParentAssignment(Libraries.Language.Compile.Context.ParentAssignmentContext context)
Parameters
ExitParentFieldAccess(Libraries.Language.Compile.Context.ParentFieldAccessContext context)
Parameters
ExitParentVariableFunctionCall(Libraries.Language.Compile.Context.ParentVariableFunctionCallContext context)
Parameters
ExitParentVariableSoloFunctionCall(Libraries.Language.Compile.Context.ParentVariableFunctionCallContext context)
Parameters
ExitParenthesisExpression(Libraries.Language.Compile.Context.ParenthesisContext context)
Parameters
ExitQualifiedName(Libraries.Language.Compile.Context.QualifiedNameContext context)
Parameters
ExitReturnStatement(Libraries.Language.Compile.Context.ReturnContext context)
Parameters
ExitSayStatement(Libraries.Language.Compile.Context.SayContext context)
Parameters
ExitStart(Libraries.Language.Compile.Context.StartContext context)
Parameters
ExitStatement(Libraries.Language.Compile.Context.StatementContext context)
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)
Parameters
ExitVariableSoloFunctionCall(Libraries.Language.Compile.Context.VariableFunctionCallContext context)
Parameters
GetCompilerErrorManager()
Return
Libraries.Language.Compile.CompilerErrorManager
GetCurrentClass()
Return
Libraries.Language.Compile.Symbol.Class
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
GetOpcodeStack()
Return
GetRequest()
Return
Libraries.Language.Compile.CodeCompletionRequest
GetSource()
Return
text
GetSymbolTable()
Return
Libraries.Language.Compile.Symbol.SymbolTable
GetTypeChecker()
Return
Libraries.Language.Compile.Symbol.TypeChecker
PeekTypeStack()
Return
Libraries.Language.Compile.Symbol.Type
SetCanCodeComplete(boolean canCodeComplete)
Parameters
SetCompilerErrorManager(Libraries.Language.Compile.CompilerErrorManager errors)
Parameters
SetCurrentClass(Libraries.Language.Compile.Symbol.Class currentClass)
Parameters
SetFile(Libraries.System.File file)
Parameters
SetLexer(Libraries.Language.Compile.Lexer lexer)
Parameters
SetRequest(Libraries.Language.Compile.CodeCompletionRequest request)
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.