Load this asset

Property definitions

app $ TextAsset :: load
	# Load this asset
	fun load: String do return ""
lib/app/assets.nit:39,2--40,30

linux :: linux $ TextAsset :: load
	redef fun load
	do
		var path = app.assets_dir / path
		var reader = path.to_path.open_ro
		var content = reader.read_all
		reader.close

		var error = reader.last_error
		if error != null then self.error = error

		self.to_s = content
		return content
	end
lib/linux/linux.nit:50,2--62,4

ios :: assets $ TextAsset :: load
	redef fun load
	do
		# Find file
		var ns_path = ("assets"/path).to_nsstring
		var path_in_bundle = asset_path(ns_path)
		if path_in_bundle.address_is_null then
			self.error = new Error("TextAsset at '{path}' not found")
			self.to_s = ""
			return ""
		end

		# Load content
		var text = asset_content(path_in_bundle)
		if text.address_is_null then
			self.error = new Error("Failed to read content of TextAsset at '{path}'")
			self.to_s = ""
			return ""
		end

		return text.to_s
	end
lib/ios/assets.nit:22,2--42,4

android :: assets $ TextAsset :: load
	redef fun load
	do
		jni_env.push_local_frame 8

		var manager = app.asset_manager
		var stream = manager.open(path)
		if stream.is_java_null then
			self.error = new Error("Failed to open asset at '{path}'")
			jni_env.pop_local_frame
			self.to_s = ""
			return ""
		end

		var text = stream.read_all
		stream.close
		if text.is_java_null then
			self.error = new Error("Failed to read content of asset file at '{path}'")
			jni_env.pop_local_frame
			self.to_s = ""
			return ""
		end

		var content = text.to_s
		jni_env.pop_local_frame
		self.to_s = content
		return content
	end
lib/android/assets.nit:24,2--50,4