1 using TypeSystem.Operations;
6 using System.Collections.Generic;
7 using CodeGeneration.ExceptionManagement;
8 namespace CodeGeneration.Operations {
12 internal class CGConstantFieldDefinitionInitializationOperation<T> :
TypeSystemOperation where T: ILCodeGenerator{
17 private T codeGenerator;
25 private object argument;
32 public CGConstantFieldDefinitionInitializationOperation(T codeGenerator,
ConstantFieldDefinition node,
object argument) {
33 this.codeGenerator = codeGenerator;
35 this.argument = argument;
42 public override object Exec(
NullType n,
object arg) {
43 this.codeGenerator.WriteLNFieldInitialization(
" = nullref");
54 this.codeGenerator.WriteLNFieldInitialization(t);
55 this.codeGenerator.WriteLNFieldInitialization((string)this.node.Init.Accept(
new VisitorCodeGeneration2(), this.argument));
56 this.codeGenerator.WriteEndOfField();
This class represent the entry wnen sending a message to an operation object derived from TypeExpress...
Encapsulates a constant field definition.
Abstract class that represents all different types.