Mercurial > hg > truffle
comparison truffle/com.oracle.truffle.object/src/com/oracle/truffle/object/LayoutImpl.java @ 22198:0e5aa5fd5060
fix implicit int-to-long cast issue
author | Andreas Woess <andreas.woess@oracle.com> |
---|---|
date | Tue, 22 Sep 2015 16:46:09 +0200 |
parents | dc83cc1f94f2 |
children | 47172a9b40ac |
comparison
equal
deleted
inserted
replaced
22197:c8f4168061ea | 22198:0e5aa5fd5060 |
---|---|
133 Location newLocation; | 133 Location newLocation; |
134 if (oldLocation instanceof IntLocation && value instanceof Integer) { | 134 if (oldLocation instanceof IntLocation && value instanceof Integer) { |
135 newLocation = oldLocation; | 135 newLocation = oldLocation; |
136 } else if (oldLocation instanceof DoubleLocation && (value instanceof Double || this.isAllowedIntToDouble() && value instanceof Integer)) { | 136 } else if (oldLocation instanceof DoubleLocation && (value instanceof Double || this.isAllowedIntToDouble() && value instanceof Integer)) { |
137 newLocation = oldLocation; | 137 newLocation = oldLocation; |
138 } else if (oldLocation instanceof LongLocation && (value instanceof Long || this.isAllowedIntToLong() && value instanceof Long)) { | 138 } else if (oldLocation instanceof LongLocation && (value instanceof Long || this.isAllowedIntToLong() && value instanceof Integer)) { |
139 newLocation = oldLocation; | 139 newLocation = oldLocation; |
140 } else if (oldLocation instanceof DeclaredLocation) { | 140 } else if (oldLocation instanceof DeclaredLocation) { |
141 return oldShape.allocator().locationForValue(value, EnumSet.of(LocationModifier.Final, LocationModifier.NonNull)); | 141 return oldShape.allocator().locationForValue(value, EnumSet.of(LocationModifier.Final, LocationModifier.NonNull)); |
142 } else if (oldLocation instanceof ConstantLocation) { | 142 } else if (oldLocation instanceof ConstantLocation) { |
143 return LocationImpl.valueEquals(oldLocation.get(null, false), value) ? oldLocation : new Locations.ConstantLocation(value); | 143 return LocationImpl.valueEquals(oldLocation.get(null, false), value) ? oldLocation : new Locations.ConstantLocation(value); |