Shape.Builder
instead.@Deprecated public abstract class Layout extends Object
DynamicObject
subclass and is used to create shapes.
An object may change its shape but only to shapes of the same layout.
NB: Instances of this class should be created only in static initializers.
Planned to be deprecated.Modifier and Type | Class and Description |
---|---|
protected static class |
Layout.Access
Deprecated.
Internal package access helper.
|
Modifier and Type | Field and Description |
---|---|
static String |
OPTION_PREFIX
Deprecated.
|
Modifier | Constructor and Description |
---|---|
protected |
Layout()
Deprecated.
Constructor for subclasses.
|
Modifier and Type | Method and Description |
---|---|
protected Shape |
buildShape(Object dynamicType,
Object sharedData,
int flags,
Assumption singleContextAssumption)
Deprecated.
Create a root shape.
|
abstract Shape.Allocator |
createAllocator()
Deprecated.
Create an allocator for static property creation.
|
abstract Shape |
createShape(ObjectType objectType)
Deprecated.
Create a root shape.
|
abstract Shape |
createShape(ObjectType objectType,
Object sharedData)
Deprecated.
Create a root shape.
|
abstract Shape |
createShape(ObjectType objectType,
Object sharedData,
int flags)
Deprecated.
Create a root shape.
|
protected static EnumSet |
getAllowedImplicitCasts(Layout.Builder builder)
Deprecated.
|
protected static LayoutFactory |
getFactory()
Deprecated.
|
protected static boolean |
getPolymorphicUnboxing(Layout.Builder builder)
Deprecated.
|
abstract Class<? extends DynamicObject> |
getType()
Deprecated.
|
protected static Class<? extends DynamicObject> |
getType(Layout.Builder builder)
Deprecated.
|
public static final String OPTION_PREFIX
protected Layout()
public abstract Class<? extends DynamicObject> getType()
public abstract Shape createShape(ObjectType objectType)
objectType
- that describes the object instance with this shape.public abstract Shape createShape(ObjectType objectType, Object sharedData)
objectType
- that describes the object instance with this shape.sharedData
- for language-specific usepublic abstract Shape createShape(ObjectType objectType, Object sharedData, int flags)
objectType
- that describes the object instance with this shape.sharedData
- for language-specific useflags
- for language-specific use, must be in the range 0-255.protected Shape buildShape(Object dynamicType, Object sharedData, int flags, Assumption singleContextAssumption)
public abstract Shape.Allocator createAllocator()
protected static LayoutFactory getFactory()
protected static EnumSet getAllowedImplicitCasts(Layout.Builder builder)
protected static boolean getPolymorphicUnboxing(Layout.Builder builder)
protected static Class<? extends DynamicObject> getType(Layout.Builder builder)