aboutsummaryrefslogtreecommitdiff
path: root/expression.go
diff options
context:
space:
mode:
Diffstat (limited to 'expression.go')
-rw-r--r--expression.go22
1 files changed, 21 insertions, 1 deletions
diff --git a/expression.go b/expression.go
index 6ab30c2..76cb16b 100644
--- a/expression.go
+++ b/expression.go
@@ -41,7 +41,6 @@ func (l linkage) String() string {
type functionExpr struct {
link linkage
- external bool
name string
params *paramExpr
returnType string
@@ -77,6 +76,27 @@ func (p *paramExpr) String() string {
return s
}
+type externFuncExpr struct {
+ name string
+ params *signatureExpr
+ returnType string
+ ln int
+}
+
+func (e *externFuncExpr) markExpr() {}
+
+func (e *externFuncExpr) line() int { return e.ln }
+
+type signatureExpr struct {
+ typ string
+ next *signatureExpr
+ ln int
+}
+
+func (s *signatureExpr) markExpr() {}
+
+func (s *signatureExpr) line() int { return s.ln }
+
type blockExpr struct {
stmts []statementExpr
ln int