Skip to content

Commit 5950f58

Browse files
committed
fixed imported forward decls
1 parent 542fdc5 commit 5950f58

File tree

5 files changed

+15
-1
lines changed

5 files changed

+15
-1
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ Der Changelog von DDP. Sortiert nach Release.
1111

1212
## In Entwicklung
1313

14+
- [Fix] Vorwärts Deklarationen geben nun keinen "undefined reference" Fehler mehr, wenn man sie einbindet
15+
1416
## v0.5.0-alpha
1517

1618
- [Added] Vorwärts Deklarationen

src/compiler/compiler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ func (c *compiler) compile(w io.Writer, isMainModule bool) (result *Result, rerr
194194
c.visitNode(stmt)
195195
} else {
196196
switch stmt.(type) {
197-
case *ast.DeclStmt, *ast.ImportStmt:
197+
case *ast.DeclStmt, *ast.ImportStmt, *ast.FuncDef:
198198
c.visitNode(stmt)
199199
default:
200200
// in imports we only visit declarations and ignore other top-level statements
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Binde "Duden/Ausgabe" ein.
2+
3+
Die öffentliche Funktion print mit dem Parameter a vom Typ Text, gibt nichts zurück,
4+
wird später definiert
5+
und kann so benutzt werden:
6+
"printe <a>"
7+
8+
Die Funktion print macht:
9+
Schreibe a auf eine Zeile.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
baz fertig
22
bar
33
foo fertig
4+
hi

tests/testdata/kddp/forward_declarations/forward_declarations.ddp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
Binde "Duden/Ausgabe" ein.
2+
Binde "decl" ein.
23

34
Die Funktion foo mit dem Parameter a vom Typ Zahl, gibt eine Zahl zurück,
45
wird später definiert
@@ -21,6 +22,7 @@ Und kann so benutzt werden:
2122
foo 3.
2223
bar.
2324
baz 3.
25+
printe "hi".
2426

2527
Die Funktion foo macht:
2628
Wenn a gleich 0 ist, dann:

0 commit comments

Comments
 (0)