@Override public Role<? extends AstNode> getRole() { return Role.get(flags & ROLE_INDEX_MASK); }
@NotNull @SuppressWarnings("unchecked") public final <T extends AstNode> T getChildByRole(final Role<T> role) { VerifyArgument.notNull(role, "role"); final int roleIndex = role.getIndex(); for (AstNode current = _firstChild; current != null; current = current._nextSibling) { if ((current.flags & ROLE_INDEX_MASK) == roleIndex) { return (T) current; } } return role.getNullObject(); }
public final void setRole(final Role<?> role) { VerifyArgument.notNull(role, "role"); if (!role.isValid(this)) { throw new IllegalArgumentException("This node is not valid for the specified role."); } verifyNotFrozen(); setRoleUnsafe(role); }
public T firstOrNullObject(final Predicate<T> predicate) { for (final T item : this) { if (predicate == null || predicate.test(item)) { return item; } } return _role.getNullObject(); }
final void setRoleUnsafe(final Role<?> role) { flags = (flags & ~ROLE_INDEX_MASK) | role.getIndex(); }
public final void setRole(final Role<?> role) { VerifyArgument.notNull(role, "role"); if (!role.isValid(this)) { throw new IllegalArgumentException("This node is not valid for the specified role."); } verifyNotFrozen(); setRoleUnsafe(role); }
public T lastOrNullObject(final Predicate<T> predicate) { T result = _role.getNullObject(); for (final T item : this) { if (predicate == null || predicate.test(item)) { result = item; } } return result; }
final void setRoleUnsafe(final Role<?> role) { flags = (flags & ~ROLE_INDEX_MASK) | role.getIndex(); }
@NotNull @SuppressWarnings("unchecked") public final <T extends AstNode> T getChildByRole(final Role<T> role) { VerifyArgument.notNull(role, "role"); final int roleIndex = role.getIndex(); for (AstNode current = _firstChild; current != null; current = current._nextSibling) { if ((current.flags & ROLE_INDEX_MASK) == roleIndex) { return (T) current; } } return role.getNullObject(); }
public final void setRole(final Role<?> role) { VerifyArgument.notNull(role, "role"); if (!role.isValid(this)) { throw new IllegalArgumentException("This node is not valid for the specified role."); } verifyNotFrozen(); setRoleUnsafe(role); }
public T lastOrNullObject(final Predicate<T> predicate) { T result = _role.getNullObject(); for (final T item : this) { if (predicate == null || predicate.test(item)) { result = item; } } return result; }
@Override public final Role getRole() { return Role.get(flags & ROLE_INDEX_MASK); }
final void setRoleUnsafe(final Role<?> role) { flags = (flags & ~ROLE_INDEX_MASK) | role.getIndex(); }
@NotNull @SuppressWarnings("unchecked") public final <T extends AstNode> T getChildByRole(final Role<T> role) { VerifyArgument.notNull(role, "role"); final int roleIndex = role.getIndex(); for (AstNode current = _firstChild; current != null; current = current._nextSibling) { if ((current.flags & ROLE_INDEX_MASK) == roleIndex) { return (T) current; } } return role.getNullObject(); }
if (!oldRole.isValid(replacement)) { throw new IllegalStateException( String.format(
public T firstOrNullObject(final Predicate<T> predicate) { for (final T item : this) { if (predicate == null || predicate.test(item)) { return item; } } return _role.getNullObject(); }
@Override public final Role getRole() { return Role.get(flags & ROLE_INDEX_MASK); }