bpo-36999: Add asyncio.Task.get_coro() (GH-13680)



https://bugs.python.org/issue36999
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py
index 78e7600..95e8560 100644
--- a/Lib/asyncio/tasks.py
+++ b/Lib/asyncio/tasks.py
@@ -152,6 +152,9 @@
     def _repr_info(self):
         return base_tasks._task_repr_info(self)
 
+    def get_coro(self):
+        return self._coro
+
     def get_name(self):
         return self._name
 
diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py
index 114dd76..74ce259 100644
--- a/Lib/test/test_asyncio/test_tasks.py
+++ b/Lib/test/test_asyncio/test_tasks.py
@@ -2425,6 +2425,16 @@
 
         self.assertEqual(cvar.get(), -1)
 
+    def test_get_coro(self):
+        loop = asyncio.new_event_loop()
+        coro = coroutine_function()
+        try:
+            task = self.new_task(loop, coro)
+            loop.run_until_complete(task)
+            self.assertIs(task.get_coro(), coro)
+        finally:
+            loop.close()
+
 
 def add_subclass_tests(cls):
     BaseTask = cls.Task