aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeb Noury <snoury@google.com>2015-04-21 13:16:08 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-04-21 13:16:09 +0000
commit7b80ad0540ca80f9f0da4bd27ae104340026ba6d (patch)
treee98e4405352b1fe17f2bf85fcc8c42db3fadfd15
parentd002238bd64631f37cea86152a2406e4c1a9a5cf (diff)
parent257dacccd50e31e8bc5d9221be006d78009c77c7 (diff)
downloadgpu-studio-master-release.tar.gz
Merge "resolver: Expose the magical "result" return parameter and stop unknown inference on first match." into studio-1.3-devstudio-master-release
-rw-r--r--api/resolver/function.go4
-rw-r--r--api/resolver/inference.go2
2 files changed, 2 insertions, 4 deletions
diff --git a/api/resolver/function.go b/api/resolver/function.go
index dfee00a41..da9994259 100644
--- a/api/resolver/function.go
+++ b/api/resolver/function.go
@@ -92,9 +92,7 @@ func functionBody(ctx *context, owner semantic.Type, out *semantic.Function) {
}
ctx.with(semantic.VoidType, func() {
for _, p := range out.FullParameters {
- if p != out.Return {
- ctx.add(p.Name, p)
- }
+ ctx.add(p.Name, p)
}
if out.This != nil {
ctx.add(string(ast.KeywordThis), out.This)
diff --git a/api/resolver/inference.go b/api/resolver/inference.go
index 28b192420..286b72401 100644
--- a/api/resolver/inference.go
+++ b/api/resolver/inference.go
@@ -73,7 +73,7 @@ func inferNumber(ctx *context, in *ast.Number, infer semantic.Type) semantic.Exp
func inferUnknown(ctx *context, lhs semantic.Node, rhs semantic.Node) {
u := findUnknown(ctx, rhs)
- if u != nil {
+ if u != nil && u.Inferred == nil {
u.Inferred = lhsToObserved(ctx, lhs)
}
}