public GenericInterPropertyWrapper(InterProperty property, IntermediateBuilder context, InterGenericType type) : base(property, context) { _type = type; _propertyType = _type.InstantiateGenericType(property.Type); }
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); } }
public GenericInterFieldWrapper(InterField field, InterGenericType type) : base(field) { _type = type; _fieldType = _type.InstantiateGenericType(field.Type); }