Esempio n. 1
0
        /// <summary>
        /// Implemented all fields and methods.
        /// </summary>
        protected virtual void CreateMembers(DexTargetPackage targetPackage)
        {
            // Build fields
            fieldBuilders = typeDef.Fields.Where(ShouldImplementField).Select(x => FieldBuilder.Create(compiler, x)).ToList();
            fieldBuilders.ForEach(x => x.Create(classDef, XType, targetPackage));

            // Build GenericInstance field (if generic)
            if (typeDef.HasGenericParameters && !typeDef.HasDexImportAttribute())
            {
                //Class.IsGenericClass = true;
                if (!typeDef.IsStatic())
                {
                    CreateGenericInstanceField(targetPackage);
                }
            }

            // Build methods
            methodBuilders = typeDef.Methods.Where(ShouldImplementMethod).Select(x => MethodBuilder.Create(compiler, x)).ToList();
            methodBuilders.ForEach(x => x.Create(classDef, targetPackage));

            // Implement members
            fieldBuilders.ForEach(x => x.Implement(classDef, targetPackage));
        }