コード例 #1
0
ファイル: Compilation.cs プロジェクト: smartmaster/corert
        public void AddField(FieldDesc field)
        {
            RegisteredField reg = GetRegisteredField(field);

            if (reg.IncludedInCompilation)
            {
                return;
            }
            reg.IncludedInCompilation = true;

            if (_options.IsCppCodeGen)
            {
                // Precreate name to ensure that all types referenced by signatures are present
                GetRegisteredType(field.OwningType);
                GetRegisteredType(field.FieldType);
            }
        }
コード例 #2
0
ファイル: Compilation.cs プロジェクト: smartmaster/corert
        internal RegisteredField GetRegisteredField(FieldDesc field)
        {
            RegisteredField existingRegistration;

            if (_registeredFields.TryGetValue(field, out existingRegistration))
            {
                return(existingRegistration);
            }

            RegisteredField registration = new RegisteredField()
            {
                Field = field
            };

            _registeredFields.Add(field, registration);

            GetRegisteredType(field.OwningType);

            return(registration);
        }
コード例 #3
0
ファイル: Compilation.cs プロジェクト: AustinWise/corert
        internal RegisteredField GetRegisteredField(FieldDesc field)
        {
            RegisteredField existingRegistration;
            if (_registeredFields.TryGetValue(field, out existingRegistration))
                return existingRegistration;

            RegisteredField registration = new RegisteredField() { Field = field };
            _registeredFields.Add(field, registration);

            GetRegisteredType(field.OwningType);

            return registration;
        }