コード例 #1
0
        public static JavaField CreateFeld(JavaClass javaclass, MemberInfo memberfileInfo, Dictionary <int, ConstantInfo> staticCP)
        {
            var result = new JavaField();

            result.Class       = javaclass;
            result.AccessFlags = memberfileInfo.AccessFlag;
            result.Name        = ((UTF8_CP)staticCP[memberfileInfo.Name_Index]).DataString;
            result.Descriptor  = ((UTF8_CP)staticCP[memberfileInfo.Desc_index]).DataString;
            if (result.IsStatic() && result.IsFinal())
            {
                var finalfieldConstantVal = memberfileInfo.Attribute_Info.FirstOrDefault(x => x.GetType() == typeof(ConstanValueAttr)) as ConstanValueAttr;
                if (finalfieldConstantVal != null)
                {
                    result.ConstantValue = finalfieldConstantVal.Constantvalue_Index;
                }
                else
                {
                    result.ConstantValue = 0;
                }
            }
            return(result);
        }