예제 #1
0
        private static object ReadArray(ByteReader reader, JavaConstant[] constants)
        {
            // ELEMENTVALUE ARRAY LENGTH (U2)
            int length = reader.ReadShort();

            object[] array = new object[length];
            for (int i = 0; i < length; i++)
            {
                array[i] = JavaElementValue.Read(reader, constants);
            }
            return(array);
        }
예제 #2
0
        public static object Read(ByteReader reader, JavaConstant[] constants)
        {
            // ELEMENTVALUE TAG (U1)
            int tag = reader.ReadByte();

            switch (tag)
            {
            case '@':
                return(JavaElementValue.ReadAnnotationType(reader, constants));

            case 'e':
                return(JavaElementValue.ReadEnum(reader, constants));

            case '[':
                return(JavaElementValue.ReadArray(reader, constants));

            default:
                return(JavaElementValue.ReadConstValue(reader, constants, tag));
            }
        }