feat(compiler): Added support for references to static fields. (#10334)

Closes: #10332
This commit is contained in:
Chuck Jazdzewski
2016-07-27 19:26:59 -07:00
committed by GitHub
parent 422effdd18
commit b58e9ea775
4 changed files with 97 additions and 4 deletions

View File

@ -438,8 +438,17 @@ export class StaticReflector implements ReflectorReader {
return null;
case 'select':
let selectTarget = simplify(expression['expression']);
let member = simplify(expression['member']);
if (selectTarget && isPrimitive(member)) return selectTarget[member];
if (selectTarget instanceof StaticSymbol) {
// Access to a static instance variable
const declarationValue = resolveReferenceValue(selectTarget);
if (declarationValue && declarationValue.statics) {
selectTarget = declarationValue.statics;
} else {
return null;
}
}
const member = simplify(expression['member']);
if (selectTarget && isPrimitive(member)) return simplify(selectTarget[member]);
return null;
case 'reference':
if (!expression.module) {