Package-level declarations
Types
The ObjectRef representing a null JVM/Kotlin value, i.e. the Prolog-side counterpart of null -- obtainable as ObjectRef.NULL.
Converts a JVM/Kotlin value into its Prolog Term representation -- the direction opposite to TermToObjectConverter -- e.g. as needed to turn the return value of a reflectively invoked method (Ref.invoke) back into something a Prolog computation can unify against.
The prolog.oop library, bridging the JVM/Kotlin object world with Prolog terms via reflection.
Resolves Java/Kotlin overloading -- i.e. picks, among all public members of type named alike, the one whose formal parameters best match a given list of Prolog Term arguments -- using termToObjectConverter to score how well each candidate parameter type fits each argument (see TermToObjectConverter.priorityOfConversion).
A Prolog Atom that also acts as a reflective handle onto some JVM/Kotlin entity -- either a live object (ObjectRef) or a type (TypeRef) -- letting Prolog code invoke members and assign properties on it without a hand-written it.unibo.tuprolog.solve.primitive.Primitive for each one.
The outcome of reflectively invoking a member via Ref.invoke, Ref.assign, or TypeRef.create: either None -- there was no return value, e.g. a void/Unit-returning method -- or a Value wrapping whatever was returned (including null).
Converts a Prolog Term into a JVM/Kotlin value -- the direction opposite to ObjectToTermConverter -- and drives the overload-resolution machinery (OverloadSelector) used to pick the right method/constructor/property to invoke for a given set of Prolog arguments.
Resolves a fully-qualified type name (as it would appear as an it.unibo.tuprolog.core.Atom in Prolog code, e.g. in a cast/3 expression X as 'java.util.ArrayList' or in new_object/2,3) into a KClass, backing type-name lookups performed by TermToObjectConverter and the type/2 predicate (it.unibo.tuprolog.solve.libs.oop.primitives.Type).
A Ref wrapping a JVM/Kotlin type (rather than an instance of it, as ObjectRef does), so that Prolog code can construct new instances of it (create) and invoke its static members / companion object members via the inherited Ref.invoke and Ref.assign.
Properties
The pattern a fully-qualified type name must match to be looked up by kClassFromName (and, transitively, by TypeFactory.default) -- e.g. java.util.ArrayList on the JVM, or <module>:<qualified name> on JS.
The pattern a fully-qualified type name must match to be looked up by kClassFromName (and, transitively, by TypeFactory.default) -- e.g. java.util.ArrayList on the JVM, or <module>:<qualified name> on JS.
The pattern a fully-qualified type name must match to be looked up by kClassFromName (and, transitively, by TypeFactory.default) -- e.g. java.util.ArrayList on the JVM, or <module>:<qualified name> on JS.
The KClass of companionObjectRef, if any. Always Optional.none on Kotlin/JS.
The KClass of companionObjectRef, if any. Always Optional.none on Kotlin/JS.
The KClass of companionObjectRef, if any. Always Optional.none on Kotlin/JS.
The formal parameter types of this callable (constructor, method, or property getter/setter), excluding the implicit instance receiver -- used to score how well a list of Prolog arguments matches a candidate overload (see OverloadSelector).
The formal parameter types of this callable (constructor, method, or property getter/setter), excluding the implicit instance receiver -- used to score how well a list of Prolog arguments matches a candidate overload (see OverloadSelector).
The formal parameter types of this callable (constructor, method, or property getter/setter), excluding the implicit instance receiver -- used to score how well a list of Prolog arguments matches a candidate overload (see OverloadSelector).
A per-platform, stable-for-the-object's-lifetime identity string (e.g. the hex identity hash code on the JVM), used to keep the Prolog rendering of two distinct ObjectRefs over equal objects distinct (see ObjectRef.nameOf).
A per-platform, stable-for-the-object's-lifetime identity string (e.g. the hex identity hash code on the JVM), used to keep the Prolog rendering of two distinct ObjectRefs over equal objects distinct (see ObjectRef.nameOf).
A per-platform, stable-for-the-object's-lifetime identity string (e.g. the hex identity hash code on the JVM), used to keep the Prolog rendering of two distinct ObjectRefs over equal objects distinct (see ObjectRef.nameOf).
Whether this KClass is one of Kotlin's primitive numeric/character types.
This KClass's simple (unqualified) name, as returned by the type/2 predicate (it.unibo.tuprolog.solve.libs.oop.primitives.Type) when converting a TypeRef to its name.
This KClass's simple (unqualified) name, as returned by the type/2 predicate (it.unibo.tuprolog.solve.libs.oop.primitives.Type) when converting a TypeRef to its name.
The setter of this mutable property, as a KFunction, used to actually perform an Ref.assign.
The setter of this mutable property, as a KFunction, used to actually perform an Ref.assign.
The setter of this mutable property, as a KFunction, used to actually perform an Ref.assign.
Functions
Invokes this callable (constructor, method, or property getter/setter) on instance (null for a constructor, a static member, or a companion-object member reached through companionObjectRef) with the given args, returning whatever it returns.
Invokes this callable (constructor, method, or property getter/setter) on instance (null for a constructor, a static member, or a companion-object member reached through companionObjectRef) with the given args, returning whatever it returns.
Invokes this callable (constructor, method, or property getter/setter) on instance (null for a constructor, a static member, or a companion-object member reached through companionObjectRef) with the given args, returning whatever it returns.
Resolves qualifiedName (which must match CLASS_NAME_PATTERN) into the KClass it names, or Optional.none if no such type can be found. Backs TypeFactory.default.
Resolves qualifiedName (which must match CLASS_NAME_PATTERN) into the KClass it names, or Optional.none if no such type can be found. Backs TypeFactory.default.
Resolves qualifiedName (which must match CLASS_NAME_PATTERN) into the KClass it names, or Optional.none if no such type can be found. Backs TypeFactory.default.
A human-readable rendering of this callable's name, parameters and return type, used in it.unibo.tuprolog.solve.libs.oop.exceptions.OopRuntimeException and it.unibo.tuprolog.solve.libs.oop.exceptions.RuntimePermissionException messages.
A human-readable rendering of this callable's name, parameters and return type, used in it.unibo.tuprolog.solve.libs.oop.exceptions.OopRuntimeException and it.unibo.tuprolog.solve.libs.oop.exceptions.RuntimePermissionException messages.
A human-readable rendering of this callable's name, parameters and return type, used in it.unibo.tuprolog.solve.libs.oop.exceptions.OopRuntimeException and it.unibo.tuprolog.solve.libs.oop.exceptions.RuntimePermissionException messages.
Like superTypeDistance, with the roles of this and other swapped.