public CilGenericField(IModuleTypeSystem moduleTypeSystem, RuntimeField genericField, FieldSignature signature, CilGenericType declaringType) : base(moduleTypeSystem, declaringType) { this.Signature = signature; this.genericField = genericField; this.Attributes = genericField.Attributes; this.SetAttributes(genericField.CustomAttributes); return; }
private void ScheduleDependencyForCompilation(SigType signatureType) { RuntimeType runtimeType = null; TypeSigType typeSigType = signatureType as TypeSigType; if (typeSigType != null) { runtimeType = this.LoadDependentType(typeSigType.Token); } else { GenericInstSigType genericSignatureType = signatureType as GenericInstSigType; if (genericSignatureType != null) { RuntimeType genericType = this.LoadDependentType(genericSignatureType.BaseType.Token); Console.WriteLine(@"Loaded generic type {0}", genericType.FullName); runtimeType = new CilGenericType(genericType, this.Assembly, genericSignatureType, this.Method); } } if (runtimeType != null) { this.compilationScheduler.ScheduleTypeForCompilation(runtimeType); } }