Package com.oracle.truffle.object
Class Locations.DeclaredDualLocation
- java.lang.Object
-
- com.oracle.truffle.api.object.Location
-
- com.oracle.truffle.object.LocationImpl
-
- com.oracle.truffle.object.Locations.DualLocation
-
- com.oracle.truffle.object.Locations.DeclaredDualLocation
-
- All Implemented Interfaces:
BaseLocation,TypedLocation
- Enclosing class:
- Locations
public static class Locations.DeclaredDualLocation extends Locations.DualLocation
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.oracle.truffle.object.LocationImpl
LocationImpl.EffectivelyFinalLocation<T extends Location>, LocationImpl.InternalLongLocation, LocationImpl.TypedObjectLocation<T extends Location & ObjectLocation>
-
-
Field Summary
-
Fields inherited from class com.oracle.truffle.object.Locations.DualLocation
layout, objectLocation, primitiveLocation
-
-
Constructor Summary
Constructors Constructor Description DeclaredDualLocation(LocationImpl.InternalLongLocation primitiveLocation, ObjectLocation objectLocation, java.lang.Object defaultValue, LayoutImpl layout)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanStore(java.lang.Object value)Returnstrueif the location is compatible with the value.Locations.DualLocationchangeType(java.lang.Class<?> newType)booleanequals(java.lang.Object obj)java.lang.Objectget(DynamicObject store, boolean condition)Get object value as object at this location in store.inthashCode()voidsetInternal(DynamicObject store, java.lang.Object value)LikeLocation.set(DynamicObject, Object, Shape), but does not invalidate final locations.java.lang.StringtoString()-
Methods inherited from class com.oracle.truffle.object.Locations.DualLocation
getObjectLocation, getType, isNonNull, objectArrayCount, objectFieldCount, primitiveArrayCount, primitiveFieldCount
-
Methods inherited from class com.oracle.truffle.object.LocationImpl
canSet, canStoreFinal, getInternal, getWhereString, isConstant, isFinal, set, valueEquals
-
Methods inherited from class com.oracle.truffle.api.object.Location
checkShape, finalLocation, get, incompatibleLocation, set, set
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.oracle.truffle.api.object.BaseLocation
get, set, set, set
-
-
-
-
Constructor Detail
-
DeclaredDualLocation
public DeclaredDualLocation(LocationImpl.InternalLongLocation primitiveLocation, ObjectLocation objectLocation, java.lang.Object defaultValue, LayoutImpl layout)
-
-
Method Detail
-
get
public java.lang.Object get(DynamicObject store, boolean condition)
Description copied from interface:BaseLocationGet object value as object at this location in store. For internal use only and subject to change, useBaseLocation.get(DynamicObject, Shape)instead.- Specified by:
getin interfaceBaseLocation- Overrides:
getin classLocations.DualLocationcondition- the result of a shape check orfalse- See Also:
BaseLocation.get(DynamicObject, Shape)
-
setInternal
public void setInternal(DynamicObject store, java.lang.Object value) throws IncompatibleLocationException
Description copied from class:LocationLikeLocation.set(DynamicObject, Object, Shape), but does not invalidate final locations. For internal use only and subject to change, useDynamicObjectFactoryto create objects with predefined properties.- Overrides:
setInternalin classLocations.DualLocation- Throws:
IncompatibleLocationException- if value is of non-assignable type
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classLocations.DualLocation
-
hashCode
public int hashCode()
- Overrides:
hashCodein classLocations.DualLocation
-
changeType
public Locations.DualLocation changeType(java.lang.Class<?> newType)
- Overrides:
changeTypein classLocations.DualLocation
-
canStore
public boolean canStore(java.lang.Object value)
Description copied from class:LocationReturnstrueif the location is compatible with the value. The value may still be rejected ifLocation.canSet(DynamicObject, Object)returns false.- Overrides:
canStorein classLocations.DualLocation- Parameters:
value- the value in question
-
toString
public java.lang.String toString()
- Overrides:
toStringin classLocations.DualLocation
-
-