StringJoiner joiner = new StringJoiner(","); for (Item item : list) { joiner.add(item.toString()); } return joiner.toString();
@Override public void visit(Item item, ItemList list) { ItemList newList = new ItemList(item.getLine(), item.getColumn()) ; for ( Item subItem : list ) { subItem.visit(this) ; Item newItem = pop(); newList.add(newItem) ; } Item newItemList = Item.createList(newList, item.getLine(), item.getColumn()) ; push(newItemList) ; }
public ItemList cdr() { if ( _size() == 0 ) throw new ItemException("ItemList.cdr: list is zero length") ; ItemList x = new ItemList(super.getLine(), super.getColumn(), offset+1, elements) ; return x ; }
public String sniff() { if ( ! isTaggable() ) return null ; return getList().get(0).getSymbol() ; }
public boolean isTaggedIgnoreCase(String tag) { if ( ! isTaggable() ) return false ; return getList().get(0).isSymbolIgnoreCase(tag) ; } public boolean isTagged(String tag)
public boolean isTagged(String tag) { if ( ! isTaggable() ) return false ; return getList().get(0).isSymbol(tag) ; } public boolean isTagged()
public boolean isTagged() { if ( ! isTaggable() ) return false ; return list.get(0).isSymbol() ; } private boolean isTaggable()
@Override public boolean equals(Object other) { if ( this == other ) return true ; if ( ! ( other instanceof Item ) ) return false ; ItemEquals x = new ItemEquals((Item)other) ; this.visit(x) ; return x.result ; }
public void visit(Item item, ItemList list) { ItemList newList = new ItemList(item.getLine(), item.getColumn()) ; for ( Item subItem : list ) { subItem.visit(this) ; Item newItem = pop(); newList.add(newItem) ; } Item newItemList = Item.createList(newList, item.getLine(), item.getColumn()) ; push(newItemList) ; }
public ItemList cdr() { if ( _size() == 0 ) throw new ItemException("ItemList.cdr: list is zero length") ; ItemList x = new ItemList(super.getLine(), super.getColumn(), offset+1, elements) ; return x ; }
public String sniff() { if ( ! isTaggable() ) return null ; return getList().get(0).getSymbol() ; }