An extern file to compile

Introduced properties

private var _filename: String

nitc :: ExternFile :: _filename

Filename relative to the nit-compile folder
private var _pkgconfigs: Array[String]

nitc :: ExternFile :: _pkgconfigs

Additional libraries needed for the compilation
fun add_to_jar: Bool

nitc :: ExternFile :: add_to_jar

Is self a Java file to include in the JAR archive?
private abstract fun compile(v: NaiveInterpreter, mmodule: MModule, object_files: Array[String], pkg_cflags: String): Bool

nitc :: ExternFile :: compile

Compile this source file
init defaultinit(filename: String)

nitc :: ExternFile :: defaultinit

fun filename: String

nitc :: ExternFile :: filename

Filename relative to the nit-compile folder
protected fun filename=(filename: String)

nitc :: ExternFile :: filename=

Filename relative to the nit-compile folder
abstract fun makefile_rule_content: String

nitc :: ExternFile :: makefile_rule_content

The content of the rule in the make
abstract fun makefile_rule_name: String

nitc :: ExternFile :: makefile_rule_name

The name of the target in the Makefile
fun pkgconfigs: Array[String]

nitc :: ExternFile :: pkgconfigs

Additional libraries needed for the compilation
protected fun pkgconfigs=(pkgconfigs: Array[String])

nitc :: ExternFile :: pkgconfigs=

Additional libraries needed for the compilation

Redefined properties

redef type SELF: ExternFile

nitc $ ExternFile :: 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 _filename: String

nitc :: ExternFile :: _filename

Filename relative to the nit-compile folder
private var _pkgconfigs: Array[String]

nitc :: ExternFile :: _pkgconfigs

Additional libraries needed for the compilation
fun add_to_jar: Bool

nitc :: ExternFile :: add_to_jar

Is self a Java file to include in the JAR archive?
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.
private abstract fun compile(v: NaiveInterpreter, mmodule: MModule, object_files: Array[String], pkg_cflags: String): Bool

nitc :: ExternFile :: compile

Compile this source file
init defaultinit(filename: String)

nitc :: ExternFile :: defaultinit

fun filename: String

nitc :: ExternFile :: filename

Filename relative to the nit-compile folder
protected fun filename=(filename: String)

nitc :: ExternFile :: filename=

Filename relative to the nit-compile folder
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.
abstract fun makefile_rule_content: String

nitc :: ExternFile :: makefile_rule_content

The content of the rule in the make
abstract fun makefile_rule_name: String

nitc :: ExternFile :: makefile_rule_name

The name of the target in the Makefile
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 pkgconfigs: Array[String]

nitc :: ExternFile :: pkgconfigs

Additional libraries needed for the compilation
protected fun pkgconfigs=(pkgconfigs: Array[String])

nitc :: ExternFile :: pkgconfigs=

Additional libraries needed for the compilation
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
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.
package_diagram nitc::ExternFile ExternFile core::Object Object nitc::ExternFile->core::Object nitc::ExternCFile ExternCFile nitc::ExternCFile->nitc::ExternFile nitc::ExternCppFile ExternCppFile nitc::ExternCppFile->nitc::ExternFile nitc::JavaFile JavaFile nitc::JavaFile->nitc::ExternFile nitc::ExternObjCFile ExternObjCFile nitc::ExternObjCFile->nitc::ExternFile nitc::ExtraJavaFile ExtraJavaFile nitc::ExtraJavaFile->nitc::JavaFile nitc::ExtraJavaFile... ... nitc::ExtraJavaFile...->nitc::ExtraJavaFile

Parents

interface Object

core :: Object

The root of the class hierarchy.

Children

class ExternCFile

nitc :: ExternCFile

An extern C file to compile
class ExternObjCFile

nitc :: ExternObjCFile

A Objective-C file
class JavaFile

nitc :: JavaFile

A generated Java source file, represent the corresponding Makefile rules

Descendants

class ExtraJavaFile

nitc :: ExtraJavaFile

User supplied Java file to include with the app for use from the FFI

Class definitions

nitc $ ExternFile
# An extern file to compile
class ExternFile

	# Filename relative to the nit-compile folder
	var filename: String

	# The name of the target in the Makefile
	# Usually the produced .o file
	fun makefile_rule_name: String is abstract

	# The content of the rule in the make
	# Usually the one-line shell command after the tabulation
	fun makefile_rule_content: String is abstract

	fun compiles_to_o_file: Bool do return false

	# Is `self` a Java file to include in the JAR archive?
	fun add_to_jar: Bool do return false

	# Additional libraries needed for the compilation
	# Will be used with pkg-config
	var pkgconfigs = new Array[String]
end
src/c_tools.nit:106,1--128,3

nitc :: on_demand_compiler $ ExternFile
redef class ExternFile
	# Compile this source file
	private fun compile(v: NaiveInterpreter, mmodule: MModule,
		object_files: Array[String], pkg_cflags: String): Bool is abstract
end
src/interpreter/dynamic_loading_ffi/on_demand_compiler.nit:394,1--398,3