Ejemplo n.º 1
0
        public override void Clear()
        {
            Accessibility        = default;
            DeclarationModifiers = default;

            if (Interfaces == null)
            {
                Interfaces = new List <ReferenceBuilder>();
            }
            else
            {
                Interfaces.Clear();
            }

            Name = default;

            if (TypeParameters == null)
            {
                TypeParameters = new List <TypeParameterConfig>();
            }
            else
            {
                TypeParameters.Clear();
            }

            _members.Clear();
        }
Ejemplo n.º 2
0
        private void UpdateInterfacesList()
        {
            Interfaces.Clear();
            var adapters = AUTD.EnumerateAdapters();

            foreach (var adapter in adapters)
            {
                Interfaces.Add($"{adapter}");
            }
        }
Ejemplo n.º 3
0
        internal void Populate()
        {
            if (IsInCoreAssembly)
            {
                BaseType = _bfCache.GetBfType(_typeDefinition.BaseType);

                if (BaseType != null && BaseType.FullName != "System.Object")
                {
                    BaseType.DerivedTypes.Add(this);
                }

                _typeDefinition.Interfaces.Select(t => _bfCache.GetBfType(t))
                .Where(t => t != null)
                .ForEach(t =>
                {
                    Interfaces.Add(t);
                    t.DerivedTypes.Add(this);
                });

                _typeDefinition.Fields.ForEach(f => Fields.Add(new BfField(_bfCache, f, this)));

                _typeDefinition.Methods.ForEach(m =>
                {
                    var bfMethod = new BfMethod(_bfCache, m, this);
                    Methods.Add(bfMethod);
                    Assembly.GetMethodsDictionary().Add(bfMethod.UniqueName, bfMethod);
                });

                _typeDefinition.Events.ForEach(e => Events.Add(new BfEvent(_bfCache, e, this)));

                Interfaces.Clear();
                Fields.Clear();
                Methods.Clear();
                Events.Clear();
            }
        }