- public override MemberExpr ResolveMemberAccess (ResolveContext ec, Expression left, Location loc, SimpleName original)
- {
- constant = TypeManager.GetGenericFieldDefinition (constant);
-
- IConstant ic = TypeManager.GetConstant (constant);
- if (ic == null) {
- if (constant.IsLiteral) {
- ic = new ExternalConstant (constant, ec.Compiler);
- } else {
- ic = ExternalConstant.CreateDecimal (constant, ec);
- // HACK: decimal field was not resolved as constant
- if (ic == null)
- return new FieldExpr (constant, loc).ResolveMemberAccess (ec, left, loc, original);
- }
- TypeManager.RegisterConstant (constant, ic);
- }
-
- return base.ResolveMemberAccess (ec, left, loc, original);
- }
-