Class GenerationContext
java.lang.Object
org.ek9lang.compiler.fuzz.GenerationContext
Shared mutable state for all AtnBasedGenerator helpers.
Follows the pattern of
SymbolsAndScopes in compiler phases:
a single context object passed to all focused helper classes via constructor injection.
Holds per-instance state (harvested names, pools) and per-generation state
(planned mutations, param counts) that is reset on each generate() call.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final int(package private) static final int(package private) static final int(package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final int(package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void(package private) static Stringcapitalise(String s) (package private) intmaxDepth()(package private) StringmaybeKeywordModule(String base, int counter, Random random) (package private) GenerationPolicypolicy()(package private) AtomicInteger(package private) StringrandomBuiltInType(Random random) (package private) StringrandomDefaultableOperator(Random random) (package private) StringrandomIdentifier(Random random) (package private) StringrandomLiteral(Random random) (package private) StringrandomSimpleString(Random random) (package private) StringrandomStringMethodCallWithArgs(Random random) (package private) StringrandomStringMethodNoArg(Random random) (package private) voidReset per-generation state.(package private) StringreturnInit(String type, Random random) (package private) voidsetPolicy(GenerationPolicy policy) (package private) booleanCheck whether a pre-planned mutation should be injected at this site.(package private) StringuniqueDispatchType(Set<String> usedTypes, Random random) (package private) StringuniqueMethodName(Set<String> usedNames, Random random)
-
Field Details
-
REQUIRE_DENOMINATOR
static final int REQUIRE_DENOMINATOR- See Also:
-
HARVEST_TYPE_PERCENT
static final int HARVEST_TYPE_PERCENT- See Also:
-
HARVEST_METHOD_PERCENT
static final int HARVEST_METHOD_PERCENT- See Also:
-
HARVEST_FIELD_PERCENT
static final int HARVEST_FIELD_PERCENT- See Also:
-
RESERVED
-
IDENTIFIER_POOL
-
BAD_IDENTIFIER_POOL
-
METHOD_NAME_POOL
-
BUILT_IN_TYPES
-
DEFAULTABLE_OPERATORS
-
OP_PURE_0_BOOLEAN
-
OP_PURE_0_INTEGER
-
OP_PURE_0_SELF
-
OP_PURE_0_ANY
-
OP_PURE_1_BOOLEAN
-
OP_PURE_1_INTEGER
-
OP_PURE_1_ANY
-
OP_MUTATING_1
-
OP_MUTATING_0
-
OP_INVALID
-
ALL_OPERATOR_SYMBOLS
-
OPERATOR_RETURN_TYPES
-
HTTP_VERBS
-
VALID_SERVICE_OPERATORS
-
INVALID_SERVICE_OPERATORS
-
HTTP_ACCESS_TYPES
-
SERVICE_PARAM_TYPES
-
SERVICE_RETURN_TYPES
-
STREAM_OPS_WITH_FN
-
STREAM_OPS_NUMERIC
-
STREAM_CONNECTORS
-
STREAM_COLLECT_TYPES
-
FAKE_TYPES
-
KEYWORD_MODULE_SEGMENTS
-
SIMPLE_STRINGS
-
PARAM_NAMES
-
STRING_METHODS_NO_ARG
-
STRING_METHODS_ONE_ARG
-
PREFIX_OPERATORS_SYMBOLIC
-
-
Constructor Details
-
GenerationContext
-
-
Method Details
-
maxDepth
int maxDepth() -
programCounter
AtomicInteger programCounter() -
currentParamCounts
-
harvestedTypeNames
-
harvestedMethodNames
-
harvestedFieldNames
-
policy
GenerationPolicy policy() -
setPolicy
-
resetForGeneration
void resetForGeneration()Reset per-generation state. Called at the start of each generate() invocation. -
addPlannedMutation
-
shouldInject
Check whether a pre-planned mutation should be injected at this site. Returns true exactly once per file per kind — only if the mutation was pre-planned. -
randomIdentifier
-
uniqueMethodName
-
uniqueDispatchType
-
randomBuiltInType
-
randomDefaultableOperator
-
returnInit
-
maybeKeywordModule
-
randomLiteral
-
randomStringMethodNoArg
-
randomStringMethodCallWithArgs
-
randomSimpleString
-
capitalise
-