public ClassDeclaration parseClassDeclaration()
classDeclaration: 'class' Identifier ';' | 'class' Identifier (':' baseClassList)? structBody | 'class' Identifier templateParameters constraint? (structBody | ';') | 'class' Identifier templateParameters constraint? (':' baseClassList)? structBody | 'class' Identifier templateParameters (':' baseClassList)? constraint? structBody ;