Property definitions

nitc $ StaticFrame :: defaultinit
# The static context of a visited property in a `AbstractCompilerVisitor`
class StaticFrame

	type VISITOR: AbstractCompilerVisitor

	# The associated visitor
	var visitor: VISITOR

	# The executed property.
	# A Method in case of a call, an attribute in case of a default initialization.
	var mpropdef: MPropDef

	# The static type of the receiver
	var receiver: MClassType

	# Arguments of the method (the first is the receiver)
	var arguments: Array[RuntimeVariable]

	# The runtime_variable associated to the return (in a function)
	var returnvar: nullable RuntimeVariable = null is writable

	# The label at the end of the property
	var returnlabel: nullable String = null is writable

	# Labels associated to a each escapemarks.
	# Because of inlinings, escape-marks must be associated to their context (the frame)
	private var escapemark_names = new HashMap[EscapeMark, String]

	# The array comprehension currently filled, if any
	private var comprehension: nullable RuntimeVariable = null

	# Returns the first argument (the receiver) of a frame.
	# REQUIRE: arguments.length >= 1
	fun selfvar: RuntimeVariable
	do
		assert arguments.length >= 1
		return arguments.first
	end
end
src/compiler/abstract_compiler.nit:2393,1--2431,3