Uses of Package
org.ek9lang.compiler.support
Packages that use org.ek9lang.compiler.support
Package
Description
Common parts of processing that can be reused across various phases.
F - Resolution of Explicitly Defined Type Symbols - at this point phase3 processing should have defined
most of the explicitly defined symbols, so they should be resolvable.
G - Full Symbol Resolution can now take place.
Contains critical general components used in the
Ek9Compiler listeners.
This is the main source of EK9 Symbols used within the compiler.
-
Classes in org.ek9lang.compiler.support used by org.ek9lang.compiler.commonClassDescriptionGeneral utility class that searches in a scope for a symbol to check for duplicates.Just a factory for all types of EK9 symbol.Can be used for a single Simple named search.
-
Classes in org.ek9lang.compiler.support used by org.ek9lang.compiler.phase2ClassDescriptionSupport for taking one aggregate and manipulating the methods and the like to be applied to another aggregate.Just a factory for all types of EK9 symbol.
-
Classes in org.ek9lang.compiler.support used by org.ek9lang.compiler.phase3ClassDescriptionSupport for taking one aggregate and manipulating the methods and the like to be applied to another aggregate.Ensures that a try statement/expression is used correctly in or out of an expression.Fixed set of constants that tend to be used to 'squirrel' away data - these are the keys.Just a factory for all types of EK9 symbol.
-
Classes in org.ek9lang.compiler.support used by org.ek9lang.compiler.phase7.generationClassDescriptionJust holds a simple set of lists with the appropriate type arguments and their corresponding parameterizing parameters.
-
Classes in org.ek9lang.compiler.support used by org.ek9lang.compiler.supportClassDescriptionSupport for taking one aggregate and manipulating the methods and the like to be applied to another aggregate.Just for details that are common to all factories.For use when looking to find common types.Fixed set of constants that tend to be used to 'squirrel' away data - these are the keys.PASS = constraint satisfied; FAIL = provably violated; UNKNOWN = cannot determine statically.One signature-level type reference: the relationship
kindand the (raw) referenced type.Used to model the scenario where a generic type has another dependent generic type used within it.Holds the details for creating and internal 'decorated name' for a generic type that has been parameterised.Predicate that returns true iff the symbol IS theorg.ek9.lang::MutexLockgeneric type itself, or a parameterised form of it (e.g.A single enforced quality/architecture metric limit, self-describing enough that BOTH the phase-5 checker that fires the error AND the MCP/IDE enquiry layer that reports headroom can read it from the one place — seeMetricLimitsfor the registry and the rationale.How a measured value is compared against the limit.A compound limit that fires only when an absolute cap AND a relative ratio are BOTH exceeded, and only once the module is at leastminConstructsin size (small modules are naturally disconnected and are exempt).A per-genus threshold table:byGenusholds explicit limits,fallbackcovers genera not listed, andexemptgenera are not checked at all (soMetricLimit.GenusLimit.limitFor(SymbolGenus)is empty andMetricLimit.GenusLimit.isOver(int, SymbolGenus)is always false for them).A gate on a fractional score rather than a count — E11020 multiplies a construct's complexity ratio by its statement ratio and fires above 0.50, so neither operand is a limit in its own right and the threshold cannot be an int.A single-threshold limit with a comparator.To be used when trying to define/resolve a parameterised type.Just holds a simple set of lists with the appropriate type arguments and their corresponding parameterizing parameters.This is a sort of hybrid resolver or definer function.Used as an abstract base for parameterised types.Just a factory for all types of EK9 symbol.Can be used for a single Simple named search. -
Classes in org.ek9lang.compiler.support used by org.ek9lang.compiler.symbolsClassDescriptionFixed set of constants that tend to be used to 'squirrel' away data - these are the keys.General utility class that searches in a scope for a symbol to check for duplicates.