All Classes and Interfaces
Class
Description
Base class for implementing a decoder/parser for the
pkl-binary encoding.Base class for renderers that are part of the standard library.
Utility library for static analysis of Pkl programs.
External property and function implementations for the `base` module.
Ensures that `childNode` isn't optimized away.
A logger that keeps messages locally and can return them.
The canonical name of a package dependency within a project.
Utilities shared across Java dnd Kotlin code generators.
A container of properties.
Object literal that contains entries (and possibly properties) but not elements.
`this` inside `CustomThisScope` (type constraint, object member predicate).
Java representation of a
pkl.base#DataSize value.The unit of a
DataSize.Property body for properties that don't have an explicit body.
Delegates to the equally named key of the map stored in extra storage.
Delegates to the equally named member of the object stored in extra storage.
Delegates to the equally named member of the object stored in extra storage.
Java representation of
pkl.Project#RemoteDependency.Java representation of a package's dependency metadata.
Java representation of a
pkl.base#Duration value.The unit of a
Duration.Puts
CompilerDirectives.TruffleBoundarys on EconomicMap methods and provides some added
functionality.Equivalent of
TypedPropertyNode for elements/entries.Object literal that contains both elements and entries (and possibly properties).
Object literal that contains elements (and possibly properties) but not entries.
Object literal node with empty body.
Object literal that contains entries (and possibly properties) but not elements.
Evaluates a Pkl module through different modes of evaluation.
A builder for an
Evaluator.An external process that reads Pkl modules and resources.
Java representation of
pkl.base#FileOutput.Manages file systems, potentially across multiple evaluator instances.
An object literal node that contains at least one for- or when-expression.
Returns a `ObjectMember`'s key while executing the corresponding `MemberNode`.
Resolves `` to the type's default value in `new { ...
An HTTP client.
A builder of HTTP clients.
Indicates that an error occurred while initializing an HTTP client.
Note: this class has a natural ordering that is inconsistent with equals.
Root node for a mixin used as default value for type `Mixin`.
Used by
ReadGlobNode.Java representation of
pkl.analyze#ImportGraph.Java representation of
pkl.analyze#Import.Collects module uris and resource uris imported within a module.
Infers the parent to amend in `function createPerson(): Person = new { ...
Infers the parent to amend in `obj { local function createPerson(): Person = new { ...
Infers the parent to amend in `x = new { ...
A non-virtual ("direct") method call.
A non-virtual method call whose call target is in the lexical scope of the call site.
A virtual method call.
A reverse iterator for arrays.
A reverse iterator for lists that performs all work behind Truffle boundaries.
An iterator for iterables that performs all work behind Truffle boundaries.
Parser for JSON.
A handler for parser events.
A streaming parser for JSON text.
Writes a JSON (RFC 7159) encoded value to a
stream, one token at a time.
A node that requires access to `VmLanguage`.
Indicates that the annotated field is initially
null and initialized to a non-null value
before or upon first use.Performs a typecast on a Mapping entry value, or a Listing element.
An immutable object that represents a location in the parsed text.
SPI for log messages emitted by the Pkl evaluator.
Predefined
Loggers.Common base class for TypeAlias, PClass, PClass.Property, and PClass.Method.
The source location of a
Member.Decodes a stream of messages.
Encodes a stream of messages.
A bidirectional transport for sending and receiving messages.
Factory methods for creating [MessageTransport]s.
Caches modules by the URI originally specified in the importing module, and also by the resolved
URI from which the module was eventually loaded.
SPI for identifying, resolving, caching, and resolving a Pkl module.
Utilities for obtaining and using module key factories.
A factory for
ModuleKeys.Utilities for creating and using
ModuleKeys.Represents a module imported via the
projectpackage scheme.Resolves
modulepath URIs from ZIP or JAR files, or from directory paths.Describes the property, method and class members of a module.
A representation for a Pkl module's source URI, and optionally its source text.
A mutable boolean in a box.
A mutable long in a box.
A mutable reference in a box.
Indicates that a nonexistent property was requested for a
Composite.Data collected by
GeneratorObjectLiteralNode to generate a `VmObject`.The output formats that Pkl supports out-of-the-box.
Java representation of class
pkl.Project#PackageThe canonical URI of an asset within a package, i.e., a package URI with a fragment path.
Java representation of a
pkl.base#Pair value.An unchecked exception to indicate that an input does not qualify as valid JSON.
Java representation of a
pkl.base#Class value.Information about a Pkl class and its Java representation.
A decoder/parser for
pkl-binary.Java version of
pkl.EvaluatorSettings.Information about the Pkl package index.
A Pkl package index.
Associates a stdlib node class with a Pkl member name or a stdlib package with a Pkl module name.
Java representation of a Pkl settings file.
An editor for viewing and editing Pkl files.
Information about the Pkl release that the current program runs on.
The language implementation of a platform.
The operating system of a platform.
The processor of a platform.
The language runtime of a platform.
The virtual machine of a platform.
Java representation of a Pkl module.
Java representation of a
pkl.base#Null value.Java representation of a Pkl object.
Java representation of module
pkl.Project.Deprecated, for removal: This API element is subject to removal in a future version.
Given a project's dependencies, build the dependency list.
The Java representation of a project's resolved dependency list.
Given a list of project directories, prepares artifacts to be published as a package.
Object literal that contains properties but not elements or entries.
A Pkl type as used in type annotations.
Used by
ReadGlobNode.Reads a local non-constant property that is known to exist in the lexical scope of this node.
Stdlib nodes are shared between engines.
An expression of the form `super[key]`.
A
MemberNode that belongs to a single Member.Information about the Pkl release that the current program runs on.
The documentation of a Pkl release.
The source code of a Pkl release.
The standard library of a Pkl release.
Requests evaluation of REPL input.
Requests loading of a module.
SPI for identifying a resolved module and loading its source code.
Utilities for obtaining and using resolved module keys.
Resolves a method name in a method call with implicit receiver, for example `bar` in `x = bar()`
(but not `foo.bar()`).
Resolves a variable name, for example `foo` in `x = foo`.
An external (file, HTTP, etc.) resource.
SPI for reading external resources from Pkl.
Predefined resource readers for OS environment variables and external properties.
Restores for-generator variable bindings when a member generated by a for-generator is executed.
An RRB Tree is an immutable List (like Clojure's PersistentVector) that also supports random
inserts, deletes, and can be split and joined back together in logarithmic time.
Immutable version of an
RrbTree.Mutable version of an
RrbTree.This class is the return type when splitting a node.
Enforces a security model during
evaluation.Parent interface to builder classes for configuring a
SecurityManager.A SecurityManagerException declares that a violation occurred during an external i/o operation.
A provider for
SecurityManagers.A
MemberNode that is shared between multiple members.A binary expression whose right operand may be short-circuited.
Base class for object literal nodes specialized for a certain mix of property/entry/element
definitions.
An element of a Pkl stack trace.
Transforms stack frames to make Pkl stack trace output more useful.
Static factory for stack frame transformers.
The Jaro–Winkler distance metric is designed and best suited for short strings such as person
names, and to detect typos; it is (roughly) a variation of Damerau-Levenshtein, where the
substitution of 2 close characters is considered less important then the substitution of 2
characters that a far from each other.
A scope where
this has a special meaning (type constraint, object member predicate).The results of testing a Pkl test module.
Indicates that an exception was thrown when evaluating the assertion.
Indicates that an assertion failed.
The result of a single test.
The results of either facts or examples.
Runs test results examples and facts.
Dictates the rendering of calls to the trace() method within Pkl.
Java representation of a
pkl.base#TypeAlias value.A property definition that does not have a type annotation but should be type-checked.
A property definition that has a type annotation.
A non-open and non-abstract class type.
The `module` type for a final module.
Base class for types whose `executeAndSet` method assigns values to slots with
`frame.setXYZ(slot, value)`.
An `open` or `abstract` class type.
The `module` type for an open module.
The `nothing` type.
The `unknown` type.
Base class for types whose `executeAndSet` method assigns values to slots with a
`WriteFrameSlotNode`.
A type parameter of a generic class, type alias, or method.
The variance of a type parameter.
The `module` type.
Java representation of a Pkl value.
Converter for data models generated by [Evaluator].
Renders Pkl values in some output format.
Predefined
ValueRenderers for Pcf, JSON, YAML, and XML property lists.Visitor for data models generated by [Evaluator].
Error message guidelines:
Pkl strives to provide a great experience for casual users.
A per-context thread-local value that can be used to influence execution.
Corresponds to `pkl.base#Object`.
A builder for
VmObjects whose ObjectMembers are determined at run time.Corresponds to `pkl.base#Object|pkl.base#Function`.
An encoder/renderer for
pkl-binary encoding.Uses methods from [java.lang.(Strict)Math] where appropriate, which may benefit from special
optimization by Graal.
Indicates that a type check failed.
Renders values for use in REPL and error messages.
Emits escape sequences for YAML.
Utilities for parsing YAML.