XModifier modifier = makeModifier();
if(token.kind==XTokenKind.CLASS || token.kind==XTokenKind.INTERFACE || token.kind==XTokenKind.ENUM || token.kind==XTokenKind.ANNOTATION){
return classDecl(modifier);
}
List<XTypeParam> typeParam = makeTypeParamList();
XType type = makeType();
boolean isConstructor = token.kind==XTokenKind.LGROUP && type.name.name.equals(className);
XLineDesk line = new XLineDesk(token.lineDesk);
String name = isConstructor?"<init>":ident();
if(isConstructor || token.kind==XTokenKind.LGROUP){
return makeMethodDecl(line, modifier, typeParam, type, name, isInterface);