summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--tests/caas/forward_declarations.nim15
-rw-r--r--tests/caas/forward_declarations.txt9
3 files changed, 25 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index dcb94935f..06a6e7d9f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -168,6 +168,7 @@ examples/cross_calculator/android/tags
 /testresults.html
 /testresults.json
 /tests/caas/SymbolProcRun.*/
+/tests/caas/forward_declarations
 /tests/caas/idetools_api
 /tests/caas/imported
 /tests/caas/issue_416_template_shift
diff --git a/tests/caas/forward_declarations.nim b/tests/caas/forward_declarations.nim
new file mode 100644
index 000000000..177d82f20
--- /dev/null
+++ b/tests/caas/forward_declarations.nim
@@ -0,0 +1,15 @@
+# This example shows that idetools returns an empty signature for a forward
+# declared proc in proc/symproc runs, but correctly returns the full signature
+# in caas mode.
+
+proc echoHello(text: string)
+
+proc testForward() =
+  echo "T"
+  echoHello("T")
+
+proc echoHello(text: string) =
+  echo "Hello Mr." & text
+
+when isMainModule:
+  testForward()
diff --git a/tests/caas/forward_declarations.txt b/tests/caas/forward_declarations.txt
new file mode 100644
index 000000000..b1695b9c7
--- /dev/null
+++ b/tests/caas/forward_declarations.txt
@@ -0,0 +1,9 @@
+forward_declarations.nim
+
+> idetools --track:$TESTNIM,9,5 --def $SILENT
+skProc
+proc \(string\)
+
+> idetools --track:$TESTNIM,5,9 --def $SILENT
+skProc
+proc \(string\)