src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java

changeset 993
fd75ec7ff603
parent 984
0011162b38bf
parent 940
303fd9eb7e21
child 1022
6081f57a0021
child 1065
d185c856ef85
equal deleted inserted replaced
992:1816446ab5ed 993:fd75ec7ff603
1 /* 1 /*
2 * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this 7 * published by the Free Software Foundation. Oracle designates this
1766 1766
1767 try { 1767 try {
1768 switch (field.getTypeCode()) { 1768 switch (field.getTypeCode()) {
1769 case 'B': 1769 case 'B':
1770 byte byteValue = orbStream.read_octet(); 1770 byte byteValue = orbStream.read_octet();
1771 bridge.putByte( o, field.getFieldID(), byteValue ) ; 1771 if (field.getField() != null) {
1772 //reflective code: field.getField().setByte( o, byteValue ) ; 1772 bridge.putByte( o, field.getFieldID(), byteValue ) ;
1773 //reflective code: field.getField().setByte( o, byteValue ) ;
1774 }
1773 break; 1775 break;
1774 case 'Z': 1776 case 'Z':
1775 boolean booleanValue = orbStream.read_boolean(); 1777 boolean booleanValue = orbStream.read_boolean();
1776 bridge.putBoolean( o, field.getFieldID(), booleanValue ) ; 1778 if (field.getField() != null) {
1777 //reflective code: field.getField().setBoolean( o, booleanValue ) ; 1779 bridge.putBoolean( o, field.getFieldID(), booleanValue ) ;
1780 //reflective code: field.getField().setBoolean( o, booleanValue ) ;
1781 }
1778 break; 1782 break;
1779 case 'C': 1783 case 'C':
1780 char charValue = orbStream.read_wchar(); 1784 char charValue = orbStream.read_wchar();
1781 bridge.putChar( o, field.getFieldID(), charValue ) ; 1785 if (field.getField() != null) {
1782 //reflective code: field.getField().setChar( o, charValue ) ; 1786 bridge.putChar( o, field.getFieldID(), charValue ) ;
1787 //reflective code: field.getField().setChar( o, charValue ) ;
1788 }
1783 break; 1789 break;
1784 case 'S': 1790 case 'S':
1785 short shortValue = orbStream.read_short(); 1791 short shortValue = orbStream.read_short();
1786 bridge.putShort( o, field.getFieldID(), shortValue ) ; 1792 if (field.getField() != null) {
1787 //reflective code: field.getField().setShort( o, shortValue ) ; 1793 bridge.putShort( o, field.getFieldID(), shortValue ) ;
1794 //reflective code: field.getField().setShort( o, shortValue ) ;
1795 }
1788 break; 1796 break;
1789 case 'I': 1797 case 'I':
1790 int intValue = orbStream.read_long(); 1798 int intValue = orbStream.read_long();
1791 bridge.putInt( o, field.getFieldID(), intValue ) ; 1799 if (field.getField() != null) {
1792 //reflective code: field.getField().setInt( o, intValue ) ; 1800 bridge.putInt( o, field.getFieldID(), intValue ) ;
1801 //reflective code: field.getField().setInt( o, intValue ) ;
1802 }
1793 break; 1803 break;
1794 case 'J': 1804 case 'J':
1795 long longValue = orbStream.read_longlong(); 1805 long longValue = orbStream.read_longlong();
1796 bridge.putLong( o, field.getFieldID(), longValue ) ; 1806 if (field.getField() != null) {
1797 //reflective code: field.getField().setLong( o, longValue ) ; 1807 bridge.putLong( o, field.getFieldID(), longValue ) ;
1808 //reflective code: field.getField().setLong( o, longValue ) ;
1809 }
1798 break; 1810 break;
1799 case 'F' : 1811 case 'F' :
1800 float floatValue = orbStream.read_float(); 1812 float floatValue = orbStream.read_float();
1801 bridge.putFloat( o, field.getFieldID(), floatValue ) ; 1813 if (field.getField() != null) {
1802 //reflective code: field.getField().setFloat( o, floatValue ) ; 1814 bridge.putFloat( o, field.getFieldID(), floatValue ) ;
1815 //reflective code: field.getField().setFloat( o, floatValue ) ;
1816 }
1803 break; 1817 break;
1804 case 'D' : 1818 case 'D' :
1805 double doubleValue = orbStream.read_double(); 1819 double doubleValue = orbStream.read_double();
1806 bridge.putDouble( o, field.getFieldID(), doubleValue ) ; 1820 if (field.getField() != null) {
1807 //reflective code: field.getField().setDouble( o, doubleValue ) ; 1821 bridge.putDouble( o, field.getFieldID(), doubleValue ) ;
1822 //reflective code: field.getField().setDouble( o, doubleValue ) ;
1823 }
1808 break; 1824 break;
1809 default: 1825 default:
1810 // XXX I18N, logging needed. 1826 // XXX I18N, logging needed.
1811 throw new InvalidClassException(cl.getName()); 1827 throw new InvalidClassException(cl.getName());
1812 } 1828 }
2215 2231
2216 int primFields = fields.length - currentClassDesc.objFields; 2232 int primFields = fields.length - currentClassDesc.objFields;
2217 2233
2218 if (o != null) { 2234 if (o != null) {
2219 for (int i = 0; i < primFields; ++i) { 2235 for (int i = 0; i < primFields; ++i) {
2220 if (fields[i].getField() == null)
2221 continue;
2222
2223 inputPrimitiveField(o, cl, fields[i]); 2236 inputPrimitiveField(o, cl, fields[i]);
2224 } 2237 }
2225 } 2238 }
2226 2239
2227 /* Read and set object fields from the input stream. */ 2240 /* Read and set object fields from the input stream. */

mercurial