Class PackageProperties
- All Implemented Interfaces:
BiFunction<String, EK9Parser.AssignmentExpressionContext, Optional<String>>
- A single literal of one kind: 'version' a Version, 'description' and 'license' a String, 'publicAccess' and the 'applyStandard...' flags a Boolean.
- A List of String literals: 'tags', 'includeFiles', 'excludeFiles', 'capabilities'.
- A Dict of (String, String) literals: 'deps', 'devDeps', 'excludeDeps'.
Any other name is unusable - there is no 'name' property, the module name IS the package name. A package property is metadata read before compilation, so being any primary is not enough - "yes" is a primary, and read as a Boolean it was silently false.
Shared by the CLI's package pre-pass (Ek9SourceVisitor) and the in-process
pipeline (phase 1's PackagePropertyOrError), so the LSP, MCP tools and the CLI cannot disagree about what
a package may hold - they report the same message at the same place. Use this - do not re-derive the property
names or shapes.
This class is the shape rule (apply(String, EK9Parser.AssignmentExpressionContext)) and its NAMES; the block-level steps are
PackagePropertyReportPoint (where a problem is reported), MissingPackageProperties and
MissingPackagePropertyMessage (E06262, E06261), DuplicatePackageProperties and
DuplicatePackagePropertyMessage (E50050) - no-statics lane S3, 2026-10-29: were reportAt,
missing, missingMessage, duplicates and duplicateMessage here; names() is
the NAMES constant; isKnown, requiredLiteralType and isOfRequiredKind had no
caller outside this class and are gone.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapply(String property, EK9Parser.AssignmentExpressionContext ive) What is wrong with this package property, if anything - the text both doors report (afterIn '<module>' package:) as E06260.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BiFunction
andThen
-
Field Details
-
NAMES
-
-
Constructor Details
-
PackageProperties
public PackageProperties()
-
-
Method Details
-
apply
What is wrong with this package property, if anything - the text both doors report (afterIn '<module>' package:) as E06260. Empty when the property is known and of the required shape. WasproblemWith.- Specified by:
applyin interfaceBiFunction<String, EK9Parser.AssignmentExpressionContext, Optional<String>>
-