/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
private List<N> nodes;
this.nodes = new LinkedList<>();
}
}
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
private C owner;
public Node(L owner){
this.owner = owner;
owner.nodes.add(this);
}
}
class ContainerA extends Container<ContainerA, NodeA>{
public ContainerA(){
super();
}
}
class NodeA extends Node<ContainerA, NodeA>{
public NodeA(ContainerA owner){
super(owner);
}
}
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
ContainerA ca = new ContainerA();
NodeA na = new NodeA(ca);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CiAKY2xhc3MgYWJzdHJhY3QgQ29udGFpbmVyPEMgZXh0ZW5kcyBDb250YWluZXI8QyxOPiwgTiBleHRlbmRzIE5vZGU8QyxOPj4gewoJcHJpdmF0ZSBMaXN0PE4+IG5vZGVzOwoJcHVibGljIENvbnRhaW5lcigpIHsKCQl0aGlzLm5vZGVzID0gbmV3IExpbmtlZExpc3Q8PigpOwoJfQp9CiAKY2xhc3MgYWJzdHJhY3QgTm9kZTxDIGV4dGVuZHMgQ29udGFpbmVyPEMsTj4sIE4gZXh0ZW5kcyBOb2RlPEMsTj4+IHsKICAgIHByaXZhdGUgQyBvd25lcjsKICAgIHB1YmxpYyBOb2RlKEwgb3duZXIpewogICAgCXRoaXMub3duZXIgPSBvd25lcjsKICAgIAlvd25lci5ub2Rlcy5hZGQodGhpcyk7CiAgICB9Cn0KCmNsYXNzIENvbnRhaW5lckEgZXh0ZW5kcyBDb250YWluZXI8Q29udGFpbmVyQSwgTm9kZUE+ewoJcHVibGljIENvbnRhaW5lckEoKXsKCQlzdXBlcigpOwoJfQp9CmNsYXNzIE5vZGVBIGV4dGVuZHMgTm9kZTxDb250YWluZXJBLCBOb2RlQT57CglwdWJsaWMgTm9kZUEoQ29udGFpbmVyQSBvd25lcil7CgkJc3VwZXIob3duZXIpOwoJfQp9CiAKIAovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCUNvbnRhaW5lckEgY2EgPSBuZXcgQ29udGFpbmVyQSgpOwoJCU5vZGVBIG5hID0gbmV3IE5vZGVBKGNhKTsKCX0KfQ==
Main.java:7: error: <identifier> expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:7: error: > expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:7: error: ';' expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:7: error: illegal start of type
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:7: error: '(' expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:7: error: illegal start of type
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:7: error: ';' expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:7: error: > expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:7: error: <identifier> expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:8: error: '(' expected
private List<N> nodes;
^
Main.java:9: error: invalid method declaration; return type required
public Container() {
^
Main.java:14: error: <identifier> expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:14: error: > expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:14: error: ';' expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:14: error: illegal start of type
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:14: error: '(' expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:14: error: illegal start of type
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:14: error: ';' expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:14: error: > expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:14: error: <identifier> expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
^
Main.java:15: error: '(' expected
private C owner;
^
Main.java:16: error: invalid method declaration; return type required
public Node(L owner){
^
22 errors