"LinkedList" is a type{@of sequence{},
@member{private,
@named "beginning",
@type ListNode{}
},
@member{private,
@named "end",
@type ListNode{}
},
@member{private,
@named "T",
@type type{}
},
@member{public,
@name"append",
@type function{
@parameter{
@name "data",
@type T
}
}
},
@member{public,
@name"prepend",
@type function{
@parameter{
@name "data",
@type T
}
}
},
@member{public,
@name"iterator",
@type function{
@returns{
@type LinkedListIterator{}
}
}
},
@constructor{public,
@parameter{
@name "type",
@keyword "type",
@type type{},
@default ~object{}
}
@parameter{
@name "old_sequence",
@keyword "from",
@type sequence{@type T},
@default sequence:empty_sequence{@type T}
}
@body{
T = type
"element" is a iterator{@over a sequence{@type T}}
element = old_sequence.iterator[]
for[@each element, @in old_sequence, @do{
this.append(element)
}]
}
}
}