Mercurial > hg > truffle
diff truffle/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/LayoutBuilder.java @ 22150:ac6dadffdf32
add Layout.newLayout() as replacement for `new LayoutBuilder()`
author | Andreas Woess <andreas.woess@oracle.com> |
---|---|
date | Mon, 14 Sep 2015 13:40:10 +0200 |
parents | 1a1aa12ab310 |
children |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/LayoutBuilder.java Mon Sep 14 13:43:21 2015 +0200 +++ b/truffle/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/LayoutBuilder.java Mon Sep 14 13:40:10 2015 +0200 @@ -38,20 +38,35 @@ private EnumSet<ImplicitCast> allowedImplicitCasts; private FieldOffsetProvider fieldOffsetProvider; + /** + * Use {@link Layout#newLayout()} instead. + */ + @Deprecated public LayoutBuilder() { this.allowedImplicitCasts = Layout.NONE; this.fieldOffsetProvider = null; } + /** + * Build {@link Layout} from the configuration in this builder. + */ public Layout build() { return Layout.getFactory().createLayout(this); } + /** + * Set the allowed implicit casts in this layout. + * + * @see Layout.ImplicitCast + */ public LayoutBuilder setAllowedImplicitCasts(EnumSet<ImplicitCast> allowedImplicitCasts) { this.allowedImplicitCasts = allowedImplicitCasts; return this; } + /** + * Set a custom field offset provider for this layout. + */ public LayoutBuilder setFieldOffsetProvider(FieldOffsetProvider fieldOffsetProvider) { this.fieldOffsetProvider = fieldOffsetProvider; return this;