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); }
public Statement CreateFieldAssignment(Field node, Expression initializer) { InternalField fieldEntity = (InternalField)TypeSystem.TypeSystemServices.GetEntity(node); return(CreateFieldAssignment(node.LexicalInfo, fieldEntity, initializer)); }
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); }