" return x\n" +
" }\n" +
" return nil\n" +
"}\n"));
GoSwitchTypeStatement exprSwitch =
castAs(GoSwitchTypeStatement.class, 0,
get(
get(
file.getMainFunction()
).getBlock()
).getStatements()
);
assertNull(exprSwitch.getSimpleStatement());
assertEquals("x",
get(
get(
exprSwitch.getTypeGuard()
).getExpression()
).getText());
GoSwitchTypeClause clause = childAt(0, exprSwitch.getClauses());
assertEquals(3, clause.getTypes().length);
assertEquals("int", childAt(0, clause.getTypes()).getText());
assertEquals("float", childAt(1, clause.getTypes()).getText());
assertEquals("T", childAt(2, clause.getTypes()).getText());
assertFalse(clause.isDefault());
clause = childAt(1, exprSwitch.getClauses());
assertEquals(1, clause.getTypes().length);
assertEquals("complex32", childAt(0, clause.getTypes()).getText());
}