Example #1
0
        public FieldReference CreateStaticField(string name, Type fieldType, FieldAttributes attributes)
        {
            ArgumentUtility.CheckNotNull("name", name);
            ArgumentUtility.CheckNotNull("fieldType", fieldType);

            return(InnerEmitter.CreateStaticField(name, fieldType, attributes));
        }
Example #2
0
        public FieldReference CreateField(string name, Type fieldType)
        {
            ArgumentUtility.CheckNotNull("name", name);
            ArgumentUtility.CheckNotNull("fieldType", fieldType);

            return(InnerEmitter.CreateField(name, fieldType));
        }
Example #3
0
        public Type BuildType()
        {
            _hasBeenBuilt = true;
            foreach (CustomEventEmitter eventEmitter in _eventEmitters)
            {
                eventEmitter.EnsureValid();
            }

            return(InnerEmitter.BuildType());
        }
Example #4
0
        private void ReplicateBaseTypeConstructor(ConstructorInfo constructor, Action <ConstructorEmitter> preStatementsAdder, Action <ConstructorEmitter> postStatementsAdder)
        {
            ArgumentUtility.CheckNotNull("constructor", constructor);
            ArgumentUtility.CheckNotNull("preStatementsAdder", preStatementsAdder);
            ArgumentUtility.CheckNotNull("postStatementsAdder", postStatementsAdder);

            ArgumentReference[] arguments      = ArgumentsUtil.ConvertToArgumentReference(constructor.GetParameters());
            ConstructorEmitter  newConstructor = InnerEmitter.CreateConstructor(arguments);

            preStatementsAdder(newConstructor);
            Expression[] argumentExpressions = ArgumentsUtil.ConvertArgumentReferenceToExpression(arguments);
            newConstructor.CodeBuilder.AddStatement(new ConstructorInvocationStatement(constructor, argumentExpressions));
            postStatementsAdder(newConstructor);

            newConstructor.CodeBuilder.AddStatement(new ReturnStatement());
        }
Example #5
0
 public ConstructorEmitter CreateTypeConstructor()
 {
     return(InnerEmitter.CreateTypeConstructor());
 }
Example #6
0
 public void CreateDefaultConstructor()
 {
     InnerEmitter.CreateDefaultConstructor();
 }
Example #7
0
        public ConstructorEmitter CreateConstructor(ArgumentReference[] arguments)
        {
            ArgumentUtility.CheckNotNull("arguments", arguments);

            return(InnerEmitter.CreateConstructor(arguments));
        }