diff options
author | Seb Noury <snoury@google.com> | 2015-04-21 13:16:08 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-04-21 13:16:09 +0000 |
commit | 7b80ad0540ca80f9f0da4bd27ae104340026ba6d (patch) | |
tree | e98e4405352b1fe17f2bf85fcc8c42db3fadfd15 | |
parent | d002238bd64631f37cea86152a2406e4c1a9a5cf (diff) | |
parent | 257dacccd50e31e8bc5d9221be006d78009c77c7 (diff) | |
download | gpu-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.go | 4 | ||||
-rw-r--r-- | api/resolver/inference.go | 2 |
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) } } |