예제 #1
0
        protected override void GenerateFields()
        {
            // Add a field: T current
            currentField = F.SynthesizeField(elementType, GeneratedNames.MakeIteratorCurrentBackingFieldName());

            // if it is an iterable, add a field: int initialThreadId
            var threadType = F.Compilation.GetWellKnownType(WellKnownType.System_Threading_Thread);

            initialThreadIdField = isEnumerable && (object)threadType != null && !threadType.IsErrorType()
                ? F.SynthesizeField(F.SpecialType(SpecialType.System_Int32), GeneratedNames.MakeIteratorCurrentThreadIdName())
                : null;
        }