Property definitions

nitc $ AAttrPropdef :: defaultinit
# A definition of an attribute
# For historical reason, old-syle and new-style attributes use the same `ANode` sub-class
class AAttrPropdef
	super APropdef

	# The `var` keyword
	var n_kwvar: TKwvar is writable, noinit

	# The identifier for a new-style attribute
	var n_id2: TId is writable, noinit

	# The declared type of the attribute
	var n_type: nullable AType = null is writable

	# The `=` symbol
	var n_assign: nullable TAssign = null is writable

	# The initial value, if any (set with `=`)
	var n_expr: nullable AExpr = null is writable

	# The `do` keyword
	var n_kwdo: nullable TKwdo = null is writable

	# The initial value, if any (set with `do return`)
	var n_block: nullable AExpr = null is writable

	# The `end` keyword
	var n_kwend: nullable TKwend = null is writable

	redef fun hot_location
	do
		return n_id2.location
	end
end
src/parser/parser_nodes.nit:1369,1--1402,3