void test(int abstractX) {}
void test([int abstractX]) {}
void test([int abstractX = 42]) {}
void test({int abstractX}) {}
void test({int abstractX: 42}) {}
void test({int abstractX = 42}) {}

void test(int asX) {}
void test([int asX]) {}
void test([int asX = 42]) {}
void test({int asX}) {}
void test({int asX: 42}) {}
void test({int asX = 42}) {}

void test(int assertX) {}
void test([int assertX]) {}
void test([int assertX = 42]) {}
void test({int assertX}) {}
void test({int assertX: 42}) {}
void test({int assertX = 42}) {}

void test(int asyncX) {}
void test([int asyncX]) {}
void test([int asyncX = 42]) {}
void test({int asyncX}) {}
void test({int asyncX: 42}) {}
void test({int asyncX = 42}) {}

void test(int awaitX) {}
void test([int awaitX]) {}
void test([int awaitX = 42]) {}
void test({int awaitX}) {}
void test({int awaitX: 42}) {}
void test({int awaitX = 42}) {}

void test(int breakX) {}
void test([int breakX]) {}
void test([int breakX = 42]) {}
void test({int breakX}) {}
void test({int breakX: 42}) {}
void test({int breakX = 42}) {}

void test(int caseX) {}
void test([int caseX]) {}
void test([int caseX = 42]) {}
void test({int caseX}) {}
void test({int caseX: 42}) {}
void test({int caseX = 42}) {}

void test(int catchX) {}
void test([int catchX]) {}
void test([int catchX = 42]) {}
void test({int catchX}) {}
void test({int catchX: 42}) {}
void test({int catchX = 42}) {}

void test(int classX) {}
void test([int classX]) {}
void test([int classX = 42]) {}
void test({int classX}) {}
void test({int classX: 42}) {}
void test({int classX = 42}) {}

void test(int constX) {}
void test([int constX]) {}
void test([int constX = 42]) {}
void test({int constX}) {}
void test({int constX: 42}) {}
void test({int constX = 42}) {}

void test(int continueX) {}
void test([int continueX]) {}
void test([int continueX = 42]) {}
void test({int continueX}) {}
void test({int continueX: 42}) {}
void test({int continueX = 42}) {}

void test(int covariantX) {}
void test([int covariantX]) {}
void test([int covariantX = 42]) {}
void test({int covariantX}) {}
void test({int covariantX: 42}) {}
void test({int covariantX = 42}) {}

void test(int defaultX) {}
void test([int defaultX]) {}
void test([int defaultX = 42]) {}
void test({int defaultX}) {}
void test({int defaultX: 42}) {}
void test({int defaultX = 42}) {}

void test(int deferredX) {}
void test([int deferredX]) {}
void test([int deferredX = 42]) {}
void test({int deferredX}) {}
void test({int deferredX: 42}) {}
void test({int deferredX = 42}) {}

void test(int doX) {}
void test([int doX]) {}
void test([int doX = 42]) {}
void test({int doX}) {}
void test({int doX: 42}) {}
void test({int doX = 42}) {}

void test(int dynamicX) {}
void test([int dynamicX]) {}
void test([int dynamicX = 42]) {}
void test({int dynamicX}) {}
void test({int dynamicX: 42}) {}
void test({int dynamicX = 42}) {}

void test(int elseX) {}
void test([int elseX]) {}
void test([int elseX = 42]) {}
void test({int elseX}) {}
void test({int elseX: 42}) {}
void test({int elseX = 42}) {}

void test(int enumX) {}
void test([int enumX]) {}
void test([int enumX = 42]) {}
void test({int enumX}) {}
void test({int enumX: 42}) {}
void test({int enumX = 42}) {}

void test(int exportX) {}
void test([int exportX]) {}
void test([int exportX = 42]) {}
void test({int exportX}) {}
void test({int exportX: 42}) {}
void test({int exportX = 42}) {}

void test(int extendsX) {}
void test([int extendsX]) {}
void test([int extendsX = 42]) {}
void test({int extendsX}) {}
void test({int extendsX: 42}) {}
void test({int extendsX = 42}) {}

void test(int extensionX) {}
void test([int extensionX]) {}
void test([int extensionX = 42]) {}
void test({int extensionX}) {}
void test({int extensionX: 42}) {}
void test({int extensionX = 42}) {}

void test(int externalX) {}
void test([int externalX]) {}
void test([int externalX = 42]) {}
void test({int externalX}) {}
void test({int externalX: 42}) {}
void test({int externalX = 42}) {}

void test(int factoryX) {}
void test([int factoryX]) {}
void test([int factoryX = 42]) {}
void test({int factoryX}) {}
void test({int factoryX: 42}) {}
void test({int factoryX = 42}) {}

void test(int falseX) {}
void test([int falseX]) {}
void test([int falseX = 42]) {}
void test({int falseX}) {}
void test({int falseX: 42}) {}
void test({int falseX = 42}) {}

void test(int finalX) {}
void test([int finalX]) {}
void test([int finalX = 42]) {}
void test({int finalX}) {}
void test({int finalX: 42}) {}
void test({int finalX = 42}) {}

void test(int finallyX) {}
void test([int finallyX]) {}
void test([int finallyX = 42]) {}
void test({int finallyX}) {}
void test({int finallyX: 42}) {}
void test({int finallyX = 42}) {}

void test(int forX) {}
void test([int forX]) {}
void test([int forX = 42]) {}
void test({int forX}) {}
void test({int forX: 42}) {}
void test({int forX = 42}) {}

void test(int FunctionX) {}
void test([int FunctionX]) {}
void test([int FunctionX = 42]) {}
void test({int FunctionX}) {}
void test({int FunctionX: 42}) {}
void test({int FunctionX = 42}) {}

void test(int getX) {}
void test([int getX]) {}
void test([int getX = 42]) {}
void test({int getX}) {}
void test({int getX: 42}) {}
void test({int getX = 42}) {}

void test(int hideX) {}
void test([int hideX]) {}
void test([int hideX = 42]) {}
void test({int hideX}) {}
void test({int hideX: 42}) {}
void test({int hideX = 42}) {}

void test(int ifX) {}
void test([int ifX]) {}
void test([int ifX = 42]) {}
void test({int ifX}) {}
void test({int ifX: 42}) {}
void test({int ifX = 42}) {}

void test(int implementsX) {}
void test([int implementsX]) {}
void test([int implementsX = 42]) {}
void test({int implementsX}) {}
void test({int implementsX: 42}) {}
void test({int implementsX = 42}) {}

void test(int importX) {}
void test([int importX]) {}
void test([int importX = 42]) {}
void test({int importX}) {}
void test({int importX: 42}) {}
void test({int importX = 42}) {}

void test(int inX) {}
void test([int inX]) {}
void test([int inX = 42]) {}
void test({int inX}) {}
void test({int inX: 42}) {}
void test({int inX = 42}) {}

void test(int inoutX) {}
void test([int inoutX]) {}
void test([int inoutX = 42]) {}
void test({int inoutX}) {}
void test({int inoutX: 42}) {}
void test({int inoutX = 42}) {}

void test(int interfaceX) {}
void test([int interfaceX]) {}
void test([int interfaceX = 42]) {}
void test({int interfaceX}) {}
void test({int interfaceX: 42}) {}
void test({int interfaceX = 42}) {}

void test(int isX) {}
void test([int isX]) {}
void test([int isX = 42]) {}
void test({int isX}) {}
void test({int isX: 42}) {}
void test({int isX = 42}) {}

void test(int lateX) {}
void test([int lateX]) {}
void test([int lateX = 42]) {}
void test({int lateX}) {}
void test({int lateX: 42}) {}
void test({int lateX = 42}) {}

void test(int libraryX) {}
void test([int libraryX]) {}
void test([int libraryX = 42]) {}
void test({int libraryX}) {}
void test({int libraryX: 42}) {}
void test({int libraryX = 42}) {}

void test(int mixinX) {}
void test([int mixinX]) {}
void test([int mixinX = 42]) {}
void test({int mixinX}) {}
void test({int mixinX: 42}) {}
void test({int mixinX = 42}) {}

void test(int nativeX) {}
void test([int nativeX]) {}
void test([int nativeX = 42]) {}
void test({int nativeX}) {}
void test({int nativeX: 42}) {}
void test({int nativeX = 42}) {}

void test(int newX) {}
void test([int newX]) {}
void test([int newX = 42]) {}
void test({int newX}) {}
void test({int newX: 42}) {}
void test({int newX = 42}) {}

void test(int nullX) {}
void test([int nullX]) {}
void test([int nullX = 42]) {}
void test({int nullX}) {}
void test({int nullX: 42}) {}
void test({int nullX = 42}) {}

void test(int ofX) {}
void test([int ofX]) {}
void test([int ofX = 42]) {}
void test({int ofX}) {}
void test({int ofX: 42}) {}
void test({int ofX = 42}) {}

void test(int onX) {}
void test([int onX]) {}
void test([int onX = 42]) {}
void test({int onX}) {}
void test({int onX: 42}) {}
void test({int onX = 42}) {}

void test(int operatorX) {}
void test([int operatorX]) {}
void test([int operatorX = 42]) {}
void test({int operatorX}) {}
void test({int operatorX: 42}) {}
void test({int operatorX = 42}) {}

void test(int outX) {}
void test([int outX]) {}
void test([int outX = 42]) {}
void test({int outX}) {}
void test({int outX: 42}) {}
void test({int outX = 42}) {}

void test(int partX) {}
void test([int partX]) {}
void test([int partX = 42]) {}
void test({int partX}) {}
void test({int partX: 42}) {}
void test({int partX = 42}) {}

void test(int patchX) {}
void test([int patchX]) {}
void test([int patchX = 42]) {}
void test({int patchX}) {}
void test({int patchX: 42}) {}
void test({int patchX = 42}) {}

void test(int requiredX) {}
void test([int requiredX]) {}
void test([int requiredX = 42]) {}
void test({int requiredX}) {}
void test({int requiredX: 42}) {}
void test({int requiredX = 42}) {}

void test(int rethrowX) {}
void test([int rethrowX]) {}
void test([int rethrowX = 42]) {}
void test({int rethrowX}) {}
void test({int rethrowX: 42}) {}
void test({int rethrowX = 42}) {}

void test(int returnX) {}
void test([int returnX]) {}
void test([int returnX = 42]) {}
void test({int returnX}) {}
void test({int returnX: 42}) {}
void test({int returnX = 42}) {}

void test(int setX) {}
void test([int setX]) {}
void test([int setX = 42]) {}
void test({int setX}) {}
void test({int setX: 42}) {}
void test({int setX = 42}) {}

void test(int showX) {}
void test([int showX]) {}
void test([int showX = 42]) {}
void test({int showX}) {}
void test({int showX: 42}) {}
void test({int showX = 42}) {}

void test(int sourceX) {}
void test([int sourceX]) {}
void test([int sourceX = 42]) {}
void test({int sourceX}) {}
void test({int sourceX: 42}) {}
void test({int sourceX = 42}) {}

void test(int staticX) {}
void test([int staticX]) {}
void test([int staticX = 42]) {}
void test({int staticX}) {}
void test({int staticX: 42}) {}
void test({int staticX = 42}) {}

void test(int superX) {}
void test([int superX]) {}
void test([int superX = 42]) {}
void test({int superX}) {}
void test({int superX: 42}) {}
void test({int superX = 42}) {}

void test(int switchX) {}
void test([int switchX]) {}
void test([int switchX = 42]) {}
void test({int switchX}) {}
void test({int switchX: 42}) {}
void test({int switchX = 42}) {}

void test(int syncX) {}
void test([int syncX]) {}
void test([int syncX = 42]) {}
void test({int syncX}) {}
void test({int syncX: 42}) {}
void test({int syncX = 42}) {}

void test(int thisX) {}
void test([int thisX]) {}
void test([int thisX = 42]) {}
void test({int thisX}) {}
void test({int thisX: 42}) {}
void test({int thisX = 42}) {}

void test(int throwX) {}
void test([int throwX]) {}
void test([int throwX = 42]) {}
void test({int throwX}) {}
void test({int throwX: 42}) {}
void test({int throwX = 42}) {}

void test(int trueX) {}
void test([int trueX]) {}
void test([int trueX = 42]) {}
void test({int trueX}) {}
void test({int trueX: 42}) {}
void test({int trueX = 42}) {}

void test(int tryX) {}
void test([int tryX]) {}
void test([int tryX = 42]) {}
void test({int tryX}) {}
void test({int tryX: 42}) {}
void test({int tryX = 42}) {}

void test(int typedefX) {}
void test([int typedefX]) {}
void test([int typedefX = 42]) {}
void test({int typedefX}) {}
void test({int typedefX: 42}) {}
void test({int typedefX = 42}) {}

void test(int varX) {}
void test([int varX]) {}
void test([int varX = 42]) {}
void test({int varX}) {}
void test({int varX: 42}) {}
void test({int varX = 42}) {}

void test(int voidX) {}
void test([int voidX]) {}
void test([int voidX = 42]) {}
void test({int voidX}) {}
void test({int voidX: 42}) {}
void test({int voidX = 42}) {}

void test(int whileX) {}
void test([int whileX]) {}
void test([int whileX = 42]) {}
void test({int whileX}) {}
void test({int whileX: 42}) {}
void test({int whileX = 42}) {}

void test(int withX) {}
void test([int withX]) {}
void test([int withX = 42]) {}
void test({int withX}) {}
void test({int withX: 42}) {}
void test({int withX = 42}) {}

void test(int yieldX) {}
void test([int yieldX]) {}
void test([int yieldX = 42]) {}
void test({int yieldX}) {}
void test({int yieldX: 42}) {}
void test({int yieldX = 42}) {}
