Property definitions

nitc :: astbuilder $ ANode :: accept_ast_validation
	private fun accept_ast_validation(v: ASTValidationVisitor)
	do
		var parent = self.parent
		var path = v.path

		if path.length > 0 then
			var path_parent = v.path.first
			if parent == null then
				self.parent = path_parent
				#debug "PARENT: expected parent: {path_parent}"
				v.seen.add(self)
			else if parent != path_parent then
				self.parent = path_parent
				if v.seen.has(self) then
					debug "DUPLICATE (NOTATREE): already seen node with parent {parent} now with {path_parent}."
				else
					v.seen.add(self)
					debug "PARENT: expected parent: {path_parent}, got {parent}"
				end
			end
		end

		if not isset _location then
			#debug "LOCATION: unlocated node {v.path.join(", ")}"
			_location = self.parent.location
		end

		path.unshift(self)
		visit_all(v)
		path.shift
	end
src/astbuilder.nit:913,2--943,4

nitc :: astbuilder $ AExpr :: accept_ast_validation
	redef fun accept_ast_validation(v)
	do
		super
		if mtype == null and not is_typed then
			#debug "TYPING: untyped expression"
		end
	end
src/astbuilder.nit:272,2--278,4

nitc :: astbuilder $ AAnnotation :: accept_ast_validation
	redef fun accept_ast_validation(v)
	do
		# Do not enter in annotations
	end
src/astbuilder.nit:948,2--951,4

nitc $ APlaceholderExpr :: accept_ast_validation
	redef fun accept_ast_validation(v)
	do
		super
		debug "PARENT: remaining placeholder"
	end
src/astbuilder.nit:294,2--298,4