commit | 3de8ed9a49a939e11961146bf5b6a41c20dc7f79 | [log] [tgz] |
---|---|---|
author | cushon <cushon@google.com> | Mon Apr 10 23:13:28 2017 -0700 |
committer | Liam Miller-Cushon <cushon@google.com> | Thu Apr 13 15:04:15 2017 -0700 |
tree | ddb432918bae34a1a1eb7ee64606564fbf50e179 | |
parent | feff88b8537fc833069416682309430adbfc6e29 [diff] |
Fix top-level constant expression evaluation When evaluating constant expressions at the top level (e.g. in an annotation on a top-level type declaration), inherited members of the type being declared are in scope. Members of the type itself are not. To implement this correctly, distinguish between the symbol used for visibility checks when resolving fields (origin), and the symbol used for lexical field lookup (null for top-level types). MOE_MIGRATED_REVID=152778257