Class CompileTimeKnownText
UrlTextKnownAtCompileTimeOrError (E08275, decision U3 of
docs/architecture/EK9_URL_TYPE_DESIGN.md ยง0).
Known: a literal; a string with interpolations whose every ${...} is known; +, $,
?: and a ternary whose parts are all known; a parenthesised known expression; a
defines constant; and a LOCAL variable whose declaration and every assignment give it known values (a
variable declared unset, text as String?, starts with no value and so adds nothing). Anything else is
not known: a parameter, a property, a loop variable, a capture, a call (even one that only returns a literal), a
method, a stream, a switch or try expression. So the answer can say "not known" for text that is in fact fixed -
never the reverse.
A local is also not known when its object can be changed IN PLACE - read through THE shared model,
SymbolWrites and ObjectSharing: the target of a stream (cat parts > base), a call given
it, or any in-place write through another name that shares the object (alias <- base; alias += path).
Assignments to the local itself (base += "/v1") are judged by their values, as before (C-2, 2026-10-19).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) booleanisKnown(EK9Parser.ExpressionContext expression, org.antlr.v4.runtime.tree.ParseTree region) Isexpression, evaluated anywhere withinregion, made only from source text.
-
Constructor Details
-
CompileTimeKnownText
CompileTimeKnownText(ParsedModule parsedModule)
-
-
Method Details
-
isKnown
Isexpression, evaluated anywhere withinregion, made only from source text.
-