Example #1
0
        public Statement CreateFieldAssignment(Field node, Expression initializer)
        {
            InternalField fieldEntity = (InternalField)TypeSystem.TypeSystemServices.GetEntity(node);

            ExpressionStatement stmt    = new ExpressionStatement(initializer.LexicalInfo);
            Expression          context = node.IsStatic
                                ? (Expression)CreateReference(node.LexicalInfo, fieldEntity.DeclaringType)
                                : CreateSelfReference(fieldEntity.Type);

            stmt.Expression = this.CreateAssignment(initializer.LexicalInfo,
                                                    CreateMemberReference(context, fieldEntity),
                                                    initializer);
            return(stmt);
        }
Example #2
0
        public Statement CreateFieldAssignment(Field node, Expression initializer)
        {
            InternalField fieldEntity = (InternalField)TypeSystem.TypeSystemServices.GetEntity(node);

            return(CreateFieldAssignment(node.LexicalInfo, fieldEntity, initializer));
        }
Example #3
0
 object GetInternalFieldStaticValue(InternalField field)
 {
     return GetValue(field.Type, (Expression)field.StaticValue);
 }
 public MemberReferenceExpression CreateEvaluationContextFieldReference(InternalField field)
 {
     return this.get_CodeBuilder().CreateMemberReference(this.CreateEvaluationContextReference(), field);
 }
 public void SetEvaluationContextField(Node node, InternalField field)
 {
     node.set_Item("EvaluationContextField", field);
 }