about summary refs log tree commit diff
path: root/pkg/lang/parser/exprs.go
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-07-27 22:53:35 +0000
committerMel <einebeere@gmail.com>2022-07-27 22:53:35 +0000
commitd79973cb9df8660fe89810507557f5ba86256f30 (patch)
tree201774dae1fa63e6b962e7be9aeea20c033bb5e3 /pkg/lang/parser/exprs.go
parent4f23155ca7f8591cae0be6938610386513d24b7f (diff)
downloadjinx-d79973cb9df8660fe89810507557f5ba86256f30.tar.zst
jinx-d79973cb9df8660fe89810507557f5ba86256f30.zip
Parse type declaration statements
Diffstat (limited to 'pkg/lang/parser/exprs.go')
-rw-r--r--pkg/lang/parser/exprs.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/pkg/lang/parser/exprs.go b/pkg/lang/parser/exprs.go
index d0725f6..80b0fd6 100644
--- a/pkg/lang/parser/exprs.go
+++ b/pkg/lang/parser/exprs.go
@@ -213,11 +213,15 @@ func (p *Parser) parseFnLitExpr() (ast.Expr, error) {
 		return ast.Expr{}, err
 	}
 
-	params, err := p.parseFnParams()
+	hasThis, params, err := p.parseFnParams()
 	if err != nil {
 		return ast.Expr{}, err
 	}
 
+	if hasThis {
+		return ast.Expr{}, fmt.Errorf("function literal cannot have 'this' parameter")
+	}
+
 	// TODO: Also parse just an expression
 	block, err := p.parseBlock()
 	if err != nil {