public EasyRuntimeMethod(AbstractEasyType maintype, string name, ReturnReferenceExpression returnRef, ArgumentReference[] arguments) { MethodAttributes attributes = MethodAttributes.HideBySig | MethodAttributes.Virtual | MethodAttributes.Public; Type[] parameterTypes = ArgumentsUtil.InitializeAndConvert(arguments); base._builder = maintype.TypeBuilder.DefineMethod(name, attributes, returnRef.Type, parameterTypes); base._builder.SetImplementationFlags(MethodImplAttributes.CodeTypeMask); }
internal EasyMethod(AbstractEasyType maintype, string name, MethodAttributes attrs, ReturnReferenceExpression returnRef, params ArgumentReference[] arguments) { this._maintype = maintype; this._arguments = arguments; Type returnType = returnRef.Type; Type[] parameterTypes = ArgumentsUtil.InitializeAndConvert(arguments); this._builder = maintype.TypeBuilder.DefineMethod(name, attrs, returnType, parameterTypes); }
public EasyCallable(AbstractEasyType type, int id, ReturnReferenceExpression returnType, params ArgumentReference[] args) : base(type, string.Format("__delegate_{0}", id), typeof(MulticastDelegate), new Type[] { typeof(ICallable) }, returnType, args) { this._id = id; this._args = args; this._returnType = returnType; this.GenerateConstructor(); this.GenerateInvoke(); this.GenerateCallableImplementation(); }
internal EasyConstructor(AbstractEasyType maintype, params ArgumentReference[] arguments) { this._maintype = maintype; Type[] parameterTypes = ArgumentsUtil.InitializeAndConvert(arguments); this._builder = maintype.TypeBuilder.DefineConstructor(MethodAttributes.Public, CallingConventions.Standard, parameterTypes); }
public EasyNested(AbstractEasyType maintype, string name, Type baseType, Type[] interfaces, ReturnReferenceExpression returnType, params ArgumentReference[] args) { base._typebuilder = maintype.TypeBuilder.DefineNestedType(name, TypeAttributes.Sealed | TypeAttributes.NestedPublic, baseType, interfaces); }
internal EasyMethod(AbstractEasyType maintype, string name, ReturnReferenceExpression returnRef, params ArgumentReference[] arguments) : this(maintype, name, MethodAttributes.HideBySig | MethodAttributes.Virtual | MethodAttributes.Public, returnRef, arguments) { }
public EasyRuntimeConstructor(AbstractEasyType maintype, params ArgumentReference[] arguments) { Type[] parameterTypes = ArgumentsUtil.InitializeAndConvert(arguments); base._builder = maintype.TypeBuilder.DefineConstructor(MethodAttributes.SpecialName | MethodAttributes.HideBySig | MethodAttributes.Public, CallingConventions.Standard, parameterTypes); base._builder.SetImplementationFlags(MethodImplAttributes.CodeTypeMask); }
public EasyProperty(AbstractEasyType maintype, string name, Type returnType) { this._maintype = maintype; this._builder = maintype.TypeBuilder.DefineProperty(name, PropertyAttributes.None, returnType, new Type[0]); }
internal EasyDefaultConstructor(AbstractEasyType maintype) { maintype.TypeBuilder.DefineDefaultConstructor(MethodAttributes.Public); }
public EasyEvent(AbstractEasyType maintype, string name, Type eventHandlerType) { this.m_name = name; this.m_maintype = maintype; this.m_builder = maintype.TypeBuilder.DefineEvent(name, EventAttributes.None, eventHandlerType); }