Provides a better API but mainly the same content as AExternCalls

Introduced properties

private var _all_cached: nullable Set[NitniCallback]

nitc :: ForeignCallbackSet :: _all_cached

Utility function, must be called only when all other maps are filled
private var _callbacks: Set[MExplicitCall]

nitc :: ForeignCallbackSet :: _callbacks

set of imported functions, cached to avoid repetitions
private var _casts: Set[MExplicitCast]

nitc :: ForeignCallbackSet :: _casts

set of imported casts and as, cached to avoid repetitions
private var _supers: Set[MExplicitSuper]

nitc :: ForeignCallbackSet :: _supers

set of imported functions, cached to avoid repetitions
private var _types: Set[MType]

nitc :: ForeignCallbackSet :: _types

set of relevant types, cached to avoid repetitions
private fun all_cached: nullable Set[NitniCallback]

nitc :: ForeignCallbackSet :: all_cached

Utility function, must be called only when all other maps are filled
private fun all_cached=(all_cached: nullable Set[NitniCallback])

nitc :: ForeignCallbackSet :: all_cached=

Utility function, must be called only when all other maps are filled
fun callbacks: Set[MExplicitCall]

nitc :: ForeignCallbackSet :: callbacks

set of imported functions, cached to avoid repetitions
protected fun callbacks=(callbacks: Set[MExplicitCall])

nitc :: ForeignCallbackSet :: callbacks=

set of imported functions, cached to avoid repetitions
fun casts: Set[MExplicitCast]

nitc :: ForeignCallbackSet :: casts

set of imported casts and as, cached to avoid repetitions
protected fun casts=(casts: Set[MExplicitCast])

nitc :: ForeignCallbackSet :: casts=

set of imported casts and as, cached to avoid repetitions
fun join(other: ForeignCallbackSet)

nitc :: ForeignCallbackSet :: join

Integrate content from the other set into this one
fun supers: Set[MExplicitSuper]

nitc :: ForeignCallbackSet :: supers

set of imported functions, cached to avoid repetitions
protected fun supers=(supers: Set[MExplicitSuper])

nitc :: ForeignCallbackSet :: supers=

set of imported functions, cached to avoid repetitions
fun types: Set[MType]

nitc :: ForeignCallbackSet :: types

set of relevant types, cached to avoid repetitions
protected fun types=(types: Set[MType])

nitc :: ForeignCallbackSet :: types=

set of relevant types, cached to avoid repetitions

Redefined properties

redef type SELF: ForeignCallbackSet

nitc $ ForeignCallbackSet :: SELF

Type of this instance, automatically specialized in every class

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
private var _all_cached: nullable Set[NitniCallback]

nitc :: ForeignCallbackSet :: _all_cached

Utility function, must be called only when all other maps are filled
private var _callbacks: Set[MExplicitCall]

nitc :: ForeignCallbackSet :: _callbacks

set of imported functions, cached to avoid repetitions
private var _casts: Set[MExplicitCast]

nitc :: ForeignCallbackSet :: _casts

set of imported casts and as, cached to avoid repetitions
private var _supers: Set[MExplicitSuper]

nitc :: ForeignCallbackSet :: _supers

set of imported functions, cached to avoid repetitions
private var _types: Set[MType]

nitc :: ForeignCallbackSet :: _types

set of relevant types, cached to avoid repetitions
private fun all_cached: nullable Set[NitniCallback]

nitc :: ForeignCallbackSet :: all_cached

Utility function, must be called only when all other maps are filled
private fun all_cached=(all_cached: nullable Set[NitniCallback])

nitc :: ForeignCallbackSet :: all_cached=

Utility function, must be called only when all other maps are filled
fun callbacks: Set[MExplicitCall]

nitc :: ForeignCallbackSet :: callbacks

set of imported functions, cached to avoid repetitions
protected fun callbacks=(callbacks: Set[MExplicitCall])

nitc :: ForeignCallbackSet :: callbacks=

set of imported functions, cached to avoid repetitions
fun casts: Set[MExplicitCast]

nitc :: ForeignCallbackSet :: casts

set of imported casts and as, cached to avoid repetitions
protected fun casts=(casts: Set[MExplicitCast])

nitc :: ForeignCallbackSet :: casts=

set of imported casts and as, cached to avoid repetitions
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun join(other: ForeignCallbackSet)

nitc :: ForeignCallbackSet :: join

Integrate content from the other set into this one
private intern fun native_class_name: CString

core :: Object :: native_class_name

The class name of the object in CString format.
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
fun supers: Set[MExplicitSuper]

nitc :: ForeignCallbackSet :: supers

set of imported functions, cached to avoid repetitions
protected fun supers=(supers: Set[MExplicitSuper])

nitc :: ForeignCallbackSet :: supers=

set of imported functions, cached to avoid repetitions
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
fun types: Set[MType]

nitc :: ForeignCallbackSet :: types

set of relevant types, cached to avoid repetitions
protected fun types=(types: Set[MType])

nitc :: ForeignCallbackSet :: types=

set of relevant types, cached to avoid repetitions
package_diagram nitc::ForeignCallbackSet ForeignCallbackSet core::Object Object nitc::ForeignCallbackSet->core::Object

Parents

interface Object

core :: Object

The root of the class hierarchy.

Class definitions

nitc $ ForeignCallbackSet
# Provides a better API but mainly the same content as AExternCalls
class ForeignCallbackSet
	# set of imported functions, cached to avoid repetitions
	var callbacks: Set[ MExplicitCall ] = new HashSet[ MExplicitCall ]

	# set of imported functions, cached to avoid repetitions
	var supers: Set[ MExplicitSuper ] = new HashSet[ MExplicitSuper ]

	# set of relevant types, cached to avoid repetitions
	var types: Set[ MType ] = new HashSet[ MType ]

	# set of imported casts and as, cached to avoid repetitions
	var casts: Set[ MExplicitCast ] = new HashSet[ MExplicitCast ]

	# Utility function, must be called only when all other maps are filled
	private var all_cached: nullable Set[NitniCallback] = null
	fun all: Set[NitniCallback]
	do
		var cached = all_cached
		if cached != null then return cached

		var set = new HashSet[NitniCallback]
		set.add_all(callbacks)
		set.add_all(supers)
		set.add_all(types)
		set.add_all(casts)
		
		self.all_cached = set
		return set
	end

	# Integrate content from the `other` set into this one
	fun join(other: ForeignCallbackSet)
	do
		callbacks.add_all( other.callbacks )
		supers.add_all( other.supers )
		types.add_all( other.types )
		casts.add_all( other.casts )
	end
end
src/nitni/nitni_callbacks.nit:45,1--84,3