NullRef

interface NullRef : ObjectRef

The ObjectRef representing a null JVM/Kotlin value, i.e. the Prolog-side counterpart of null -- obtainable as ObjectRef.NULL.

Since there is no actual object to reflect upon, every member inherited from ObjectRef that would need one throws NullPointerException, mirroring what dereferencing a null reference does on the JVM. Use it.unibo.tuprolog.solve.libs.oop.primitives.NullRef (the null_ref/1 predicate) to test whether a term is this reference before invoking on it.

See also

Properties

Link copied to clipboard
open override val args: List<Term>
Link copied to clipboard
Link copied to clipboard
open override val arity: Int
Link copied to clipboard
abstract val functor: String
Link copied to clipboard
Link copied to clipboard
open override val isAtom: Boolean
Link copied to clipboard
open override val isBlock: Boolean
Link copied to clipboard
open override val isClause: Boolean
Link copied to clipboard
open override val isCons: Boolean
Link copied to clipboard
Link copied to clipboard
open override val isDirective: Boolean
Link copied to clipboard
open override val isEmptyBlock: Boolean
Link copied to clipboard
open override val isEmptyList: Boolean
Link copied to clipboard
open override val isFact: Boolean
Link copied to clipboard
open override val isFail: Boolean
Link copied to clipboard
Link copied to clipboard
open val isGround: Boolean
Link copied to clipboard
open override val isIndicator: Boolean
Link copied to clipboard
open val isInteger: Boolean
Link copied to clipboard
open override val isList: Boolean
Link copied to clipboard
open val isNumber: Boolean
Link copied to clipboard
open val isReal: Boolean
Link copied to clipboard
Link copied to clipboard
open override val isRule: Boolean
Link copied to clipboard
open override val isStruct: Boolean
Link copied to clipboard
open override val isTrue: Boolean
Link copied to clipboard
open val isTruth: Boolean
Link copied to clipboard
open override val isTuple: Boolean
Link copied to clipboard
open val isVar: Boolean
Link copied to clipboard
open override val object: Any
Link copied to clipboard
abstract val tags: Map<String, Any>
Link copied to clipboard
open override val value: String
Link copied to clipboard
open override val variables: Sequence<Var>

Functions

Link copied to clipboard
abstract fun <T> accept(visitor: TermVisitor<T>): T
Link copied to clipboard
abstract fun addFirst(argument: Term): Struct
Link copied to clipboard
abstract fun addLast(argument: Term): Struct
Link copied to clipboard
open fun append(argument: Term): Struct
Link copied to clipboard
abstract fun apply(substitution: Substitution): Term
open fun apply(substitution: Substitution, vararg substitutions: Substitution): Term
Link copied to clipboard
open override fun <T : Term> as(): T?
Link copied to clipboard
open override fun asAtom(): Atom
Link copied to clipboard
open fun asBlock(): Block?
Link copied to clipboard
open fun asClause(): Clause?
Link copied to clipboard
open fun asCons(): Cons?
Link copied to clipboard
open fun asConstant(): Constant
Link copied to clipboard
open fun asDirective(): Directive?
Link copied to clipboard
Link copied to clipboard
open fun asEmptyList(): EmptyList?
Link copied to clipboard
open fun asFact(): Fact?
Link copied to clipboard
open fun asIndicator(): Indicator?
Link copied to clipboard
open fun asInteger(): Integer?
Link copied to clipboard
open fun asList(): List?
Link copied to clipboard
open fun asNumeric(): Numeric?
Link copied to clipboard
open fun asReal(): Real?
Link copied to clipboard
open fun asRecursive(): Recursive?
Link copied to clipboard
open fun asRule(): Rule?
Link copied to clipboard
open override fun assign(objectConverter: TermToObjectConverter, propertyName: String, value: Term): Boolean

open fun assign(propertyName: String, value: Term): Boolean

Like assign, but converting value via TermToObjectConverter.default.

Link copied to clipboard
open override fun asStruct(): Struct
Link copied to clipboard
open fun asTerm(): Term
Link copied to clipboard
open fun asTruth(): Truth?
Link copied to clipboard
open fun asTuple(): Tuple?
Link copied to clipboard
open fun asVar(): Var?
Link copied to clipboard
open override fun <T : Term> castTo(): T
Link copied to clipboard
open fun castToAtom(): Atom
Link copied to clipboard
open fun castToBlock(): Block
Link copied to clipboard
open fun castToClause(): Clause
Link copied to clipboard
open fun castToCons(): Cons
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun castToFact(): Fact
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun castToList(): List
Link copied to clipboard
Link copied to clipboard
open fun castToReal(): Real
Link copied to clipboard
Link copied to clipboard
open fun castToRule(): Rule
Link copied to clipboard
open fun castToStruct(): Struct
Link copied to clipboard
open fun castToTerm(): Term
Link copied to clipboard
open fun castToTruth(): Truth
Link copied to clipboard
open fun castToTuple(): Tuple
Link copied to clipboard
open fun castToVar(): Var
Link copied to clipboard
open operator override fun compareTo(other: Term): Int
Link copied to clipboard
open fun containsTag(name: String): Boolean
Link copied to clipboard
abstract operator override fun equals(other: Any?): Boolean
abstract fun equals(other: Term, useVarCompleteName: Boolean): Boolean
Link copied to clipboard
abstract override fun freshCopy(): Atom
abstract override fun freshCopy(scope: Scope): Atom
Link copied to clipboard
open operator fun get(substitution: Substitution, vararg substitutions: Substitution): Term
open operator fun get(index: Int): Term
Link copied to clipboard
open fun getArgAt(index: Int): Term
Link copied to clipboard
open fun <T : Any> getTag(name: String): T?
Link copied to clipboard
abstract override fun hashCode(): Int
Link copied to clipboard
abstract fun insertAt(index: Int, argument: Term): Struct
Link copied to clipboard
open override fun invoke(objectConverter: TermToObjectConverter, methodName: String, arguments: List<Term>): Result
open fun invoke(methodName: String, arguments: Iterable<Term>): Result
open fun invoke(methodName: String, arguments: List<Term>): Result
open fun invoke(methodName: String, arguments: Sequence<Term>): Result
open fun invoke(objectConverter: TermToObjectConverter, methodName: String, arguments: Iterable<Term>): Result
open fun invoke(objectConverter: TermToObjectConverter, methodName: String, arguments: Sequence<Term>): Result

open fun invoke(methodName: String, vararg arguments: Term): Result
open fun invoke(objectConverter: TermToObjectConverter, methodName: String, vararg arguments: Term): Result

Invokes the (possibly overloaded) member named methodName on this reference, converting arguments to actual JVM/Kotlin values via objectConverter and picking the overload whose formal parameters best match them.

Link copied to clipboard
abstract fun replaceTags(tags: Map<String, Any>): Term
Link copied to clipboard
abstract fun setArgs(args: Iterable<Term>): Struct
abstract fun setArgs(args: Sequence<Term>): Struct
abstract fun setArgs(vararg args: Term): Struct
Link copied to clipboard
abstract fun setFunctor(functor: String): Struct
Link copied to clipboard
abstract infix fun structurallyEquals(other: Term): Boolean
Link copied to clipboard
abstract override fun toString(): String