Example #1
0
        public GenericInterPropertyWrapper(InterProperty property, IntermediateBuilder context, InterGenericType type)
            : base(property, context)
        {
            _type = type;

            _propertyType = _type.InstantiateGenericType(property.Type);
        }
Example #2
0
        public GenericInterMethodWrapper(InterMethod method, IntermediateBuilder context, InterGenericType type) : base(method, context)
        {
            _type = type;

            if (method.ReturnType is GenericParameterType)
            {
                var par = method.ReturnType as GenericParameterType;
                _returnType = new GenericParameterType(_type.GenericParameters[par.Index], par.Index);
            }
            else
            {
                _returnType = method.ReturnType;
            }

            _returnType = _type.InstantiateGenericType(method.ReturnType);


            _args = new CodeType[method.Arguments.Length];

            for (int i = 0; i < _args.Length; i++)
            {
                var p = method.Arguments[i];
                p.Bind(context);

                _args[i] = _type.InstantiateGenericType(p.Type);
            }
        }
Example #3
0
        public GenericInterFieldWrapper(InterField field, InterGenericType type) : base(field)
        {
            _type = type;

            _fieldType = _type.InstantiateGenericType(field.Type);
        }