Uses of Class
org.ek9lang.antlr.EK9Parser.ExpressionContext
Packages that use EK9Parser.ExpressionContext
Package
Description
E - Initial Symbol definition by traversing the 'ANTLR' - 'AST'.
G - Full Symbol Resolution can now take place.
I - PRE Intermediate Representation generation checks.
Call graph infrastructure for EK9 compiler static analysis.
Contains critical general components used in the
Ek9Compiler listeners.-
Uses of EK9Parser.ExpressionContext in org.ek9lang.antlr
Fields in org.ek9lang.antlr declared as EK9Parser.ExpressionContextModifier and TypeFieldDescriptionEK9Parser.ExpressionContext.controlEK9Parser.PreFlowAndControlContext.controlEK9Parser.WhileStatementExpressionContext.controlEK9Parser.ExpressionContext.leftEK9Parser.ExpressionContext.rightMethods in org.ek9lang.antlr that return EK9Parser.ExpressionContextModifier and TypeMethodDescriptionEK9Parser.AssertDoesNotThrowExpressionContext.expression()EK9Parser.AssertStatementContext.expression()EK9Parser.AssertThrowsExpressionContext.expression()EK9Parser.AssignmentExpressionContext.expression()EK9Parser.CaseExpressionContext.expression()EK9Parser.CloseStatementContext.expression()EK9Parser.ExcludedControlFlowStatementContext.expression()EK9Parser.ExcludedListComprehensionContext.expression(int i) EK9Parser.expression()EK9Parser.ExpressionContext.expression(int i) EK9Parser.ExpressionParamContext.expression()EK9Parser.ForLoopContext.expression()EK9Parser.GuardExpressionContext.expression()EK9Parser.InitValuePairContext.expression(int i) EK9Parser.ListContext.expression(int i) EK9Parser.PreFlowAndControlContext.expression()EK9Parser.PrimaryContext.expression()EK9Parser.RangeContext.expression(int i) EK9Parser.RequireStatementContext.expression()EK9Parser.StreamCatContext.expression(int i) EK9Parser.StringPartContext.expression()EK9Parser.TernaryPartContext.expression()EK9Parser.WhileStatementExpressionContext.expression()Methods in org.ek9lang.antlr that return types with arguments of type EK9Parser.ExpressionContextModifier and TypeMethodDescriptionEK9Parser.ExcludedListComprehensionContext.expression()EK9Parser.ExpressionContext.expression()EK9Parser.InitValuePairContext.expression()EK9Parser.ListContext.expression()EK9Parser.RangeContext.expression()EK9Parser.StreamCatContext.expression()Methods in org.ek9lang.antlr with parameters of type EK9Parser.ExpressionContextModifier and TypeMethodDescriptionvoidEK9BaseListener.enterExpression(EK9Parser.ExpressionContext ctx) Enter a parse tree produced byEK9Parser.expression().voidEK9Listener.enterExpression(EK9Parser.ExpressionContext ctx) Enter a parse tree produced byEK9Parser.expression().voidEK9BaseListener.exitExpression(EK9Parser.ExpressionContext ctx) Exit a parse tree produced byEK9Parser.expression().voidEK9Listener.exitExpression(EK9Parser.ExpressionContext ctx) Exit a parse tree produced byEK9Parser.expression().EK9BaseVisitor.visitExpression(EK9Parser.ExpressionContext ctx) Visit a parse tree produced byEK9Parser.expression().EK9Visitor.visitExpression(EK9Parser.ExpressionContext ctx) Visit a parse tree produced byEK9Parser.expression(). -
Uses of EK9Parser.ExpressionContext in org.ek9lang.compiler.phase1
Classes in org.ek9lang.compiler.phase1 that implement interfaces with type arguments of type EK9Parser.ExpressionContextModifier and TypeClassDescription(package private) final classTypically used in control expressions to check developer is not doing a while(true).Methods in org.ek9lang.compiler.phase1 with parameters of type EK9Parser.ExpressionContextModifier and TypeMethodDescriptionvoidNotABooleanLiteralOrError.accept(EK9Parser.ExpressionContext ctx) voidDefinitionListener.enterExpression(EK9Parser.ExpressionContext ctx) -
Uses of EK9Parser.ExpressionContext in org.ek9lang.compiler.phase3
Classes in org.ek9lang.compiler.phase3 that implement interfaces with type arguments of type EK9Parser.ExpressionContextModifier and TypeClassDescription(package private) final classJust gets the left and right hand side of values in an expression.(package private) final classJust gets both of the ternary expression parts (not the control).(package private) final classJust checks that an expression used in a control for if/while etc is a Boolean type.(package private) final classEnsures that 'expression' is now resolved and 'typed' or a not resolved error.(package private) final classReturns the appropriate operator text symbol for the expression.(package private) final classCreate a MethodSearch symbol for an operation that could have a single expression or two expressions.Methods in org.ek9lang.compiler.phase3 with parameters of type EK9Parser.ExpressionContextModifier and TypeMethodDescriptionvoidControlIsBooleanOrError.accept(EK9Parser.ExpressionContext ctx) voidExpressionOrError.accept(EK9Parser.ExpressionContext ctx) AccessLeftAndRightOrError.apply(EK9Parser.ExpressionContext ctx) AccessTernaryExpressionsOrError.apply(EK9Parser.ExpressionContext ctx) MapOperatorText.apply(EK9Parser.ExpressionContext ctx) MethodSymbolSearchForExpression.apply(EK9Parser.ExpressionContext ctx) voidExpressionsListener.exitExpression(EK9Parser.ExpressionContext ctx) -
Uses of EK9Parser.ExpressionContext in org.ek9lang.compiler.phase5
Classes in org.ek9lang.compiler.phase5 that implement interfaces with type arguments of type EK9Parser.ExpressionContextModifier and TypeClassDescription(package private) final classDetects tautological and contradictory compound conditions using range algebra (E08086/E08087).(package private) final classDetects arithmetic expressions that always produce a constant result (E08083).(package private) final classDetects comparisons where both operands are literals (E08082).(package private) classOnce an expression has been assessed as being simple enough to process, this consumer is called to mark the appropriate symbol(s) used in the expression as safe if the appropriate methods are called.(package private) final classJust checks if the expression as defined by the ANTLR AST is simple enough to be assessed to make any Result/Optional get()/ok()/error() method calls safe.(package private) final classDetects conditions that are always true or always false based on data flow analysis (E08086/E08087).(package private) final classPredicate to determine if an expression is a Boolean logical operator (and/or) with Boolean type operands.(package private) classWhen looking to calculate complexity of methods/functions it is important to work out if parts of an expression are in some way conditional.(package private) final classDetects logical tautologies and contradictions (E08085).(package private) final classDetects bare literals used as operands in comparison, relational, matching, and range expressions (E11064).(package private) final classDetects string concatenation chains with 3 or more parts and recommends string interpolation instead (E11068).(package private) final classDetects comparisons of a Boolean expression with a Boolean literal (E08084).(package private) final classDetects empty checks that are always true or always false based on data flow analysis (E08092/E08093).(package private) final classDetects isSet checks that are always true or always false based on data flow analysis (E08088/E08089).(package private) final classDetects self-comparison expressions where both sides resolve to the same symbol (E08081).(package private) final classSimilar to the if block check, but this is focused on the true part of the ternary expression.Methods in org.ek9lang.compiler.phase5 with parameters of type EK9Parser.ExpressionContextModifier and TypeMethodDescriptionvoidCompoundConditionOrError.accept(EK9Parser.ExpressionContext ctx) voidConstantArithmeticOrError.accept(EK9Parser.ExpressionContext ctx) voidConstantComparisonOrError.accept(EK9Parser.ExpressionContext ctx) voidExpressionSafeSymbolMarker.accept(EK9Parser.ExpressionContext ctx, IScope scopeMadeSafe) voidFlowConditionOrError.accept(EK9Parser.ExpressionContext ctx) voidLogicalTautologyOrError.accept(EK9Parser.ExpressionContext ctx) voidMagicLiteralInComparisonOrError.accept(EK9Parser.ExpressionContext ctx) voidPreferStringInterpolationOrError.accept(EK9Parser.ExpressionContext ctx) voidRedundantBooleanComparisonOrError.accept(EK9Parser.ExpressionContext ctx) voidRedundantEmptyCheckOrError.accept(EK9Parser.ExpressionContext ctx) voidRedundantIsSetCheckOrError.accept(EK9Parser.ExpressionContext ctx) voidSelfComparisonOrError.accept(EK9Parser.ExpressionContext ctx) voidTernaryBlockSafeGenericAccessMarker.accept(EK9Parser.ExpressionContext ctx) voidPreIRListener.enterExpression(EK9Parser.ExpressionContext ctx) (package private) voidExpressionComplexityCounter.exitCoalescing(EK9Parser.ExpressionContext ctx) Exit a coalescing expression - calculate weighted cost and add to total.voidPreIRListener.exitExpression(EK9Parser.ExpressionContext ctx) protected voidAbstractSafeGenericAccessMarker.processExpression(EK9Parser.ExpressionContext ctx, IScope wouldBeSafeScope) booleanExpressionSimpleForSafeAccess.test(EK9Parser.ExpressionContext ctx) booleanFormOfBooleanLogic.test(EK9Parser.ExpressionContext ctx) booleanFormOfComparator.test(EK9Parser.ExpressionContext ctx) -
Uses of EK9Parser.ExpressionContext in org.ek9lang.compiler.phase5.callgraph
Methods in org.ek9lang.compiler.phase5.callgraph with parameters of type EK9Parser.ExpressionContextModifier and TypeMethodDescriptionvoidCallGraphCollector.enterExpression(EK9Parser.ExpressionContext ctx) -
Uses of EK9Parser.ExpressionContext in org.ek9lang.compiler.phase5.flow
Methods in org.ek9lang.compiler.phase5.flow with parameters of type EK9Parser.ExpressionContextModifier and TypeMethodDescriptionConstructorStateExtractor.extractFromExpression(EK9Parser.ExpressionContext expr) Extract a CollectionStateValue from an expression if it is a collection/container constructor or literal.LiteralExtractor.extractFromExpression(EK9Parser.ExpressionContext expr) Extract a constant value from an expression context. -
Uses of EK9Parser.ExpressionContext in org.ek9lang.compiler.phase7.generator
Methods in org.ek9lang.compiler.phase7.generator with parameters of type EK9Parser.ExpressionContextModifier and TypeMethodDescriptionAbstractAssertExprGenerator.buildAssertionBody(EK9Parser.ExpressionContext exprCtx, DebugInfo debugInfo) Build the assertion body with proper scope management.GuardedConditionEvaluator.evaluate(EK9Parser.ExpressionContext conditionExpr, EK9Parser.PreFlowStatementContext preFlowStmt, VariableDetails conditionResult, String scopeId, DebugInfo debugInfo) Evaluates a condition expression that may have guard variables.BinaryOperationGenerator.processOperandExpression(EK9Parser.ExpressionContext operandExpr, VariableDetails operandDetails) Process operand expression using exprGenerator from generators struct.UnaryOperationGenerator.processOperandExpression(EK9Parser.ExpressionContext operandExpr, VariableDetails operandDetails) Process operand expression using exprGenerator from generators struct. -
Uses of EK9Parser.ExpressionContext in org.ek9lang.compiler.phase7.support
Methods in org.ek9lang.compiler.phase7.support that return EK9Parser.ExpressionContextModifier and TypeMethodDescriptionExprProcessingDetails.ctx()Returns the value of thectxrecord component.Constructors in org.ek9lang.compiler.phase7.support with parameters of type EK9Parser.ExpressionContextModifierConstructorDescriptionExprProcessingDetails(EK9Parser.ExpressionContext ctx, VariableDetails variableDetails) Creates an instance of aExprProcessingDetailsrecord class. -
Uses of EK9Parser.ExpressionContext in org.ek9lang.compiler.support
Methods in org.ek9lang.compiler.support with parameters of type EK9Parser.ExpressionContextModifier and TypeMethodDescriptionOperationFactory.newOperatorCall(String operator, EK9Parser.ExpressionContext ctx, IScope scope) Create a CallSymbol for an operator in an expression.SymbolFactory.newOperatorCall(String operator, EK9Parser.ExpressionContext ctx, IScope scope) Create a new CallSymbol for an operator in an expression.