returnType = JavaTypeName.STRING;
javaMethod = new JavaMethod(modifiers, returnType, "getUnqualifiedName");
tagDCClassRep.addMethod(javaMethod);
SwitchStatement sw = new SwitchStatement (new JavaField.Instance(null, "tag", JavaTypeName.INT));
for (int i = 0, nDCs = dataConsList.size(); i < nDCs; ++i) {
DataConstructor dc = dataConsList.get (i);
sw.addCase(new SwitchStatement.IntCaseGroup(dc.getOrdinal(), new ReturnStatement (LiteralWrapper.make(dc.getName().getUnqualifiedName()))));
}
javaMethod.addStatement (sw);
javaMethod.addStatement(new ReturnStatement(LiteralWrapper.make ("Unknown data constructor")));
// public final String getQualfiedName() ...
modifiers = Modifier.PUBLIC | Modifier.FINAL;
returnType = JavaTypeName.STRING;
javaMethod = new JavaMethod(modifiers, returnType, "getQualifiedName");
tagDCClassRep.addMethod(javaMethod);
sw = new SwitchStatement (new JavaField.Instance(null, "tag", JavaTypeName.INT));
for (int i = 0, nDCs = dataConsList.size(); i < nDCs; ++i) {
DataConstructor dc = dataConsList.get (i);
sw.addCase(new SwitchStatement.IntCaseGroup(dc.getOrdinal(), new ReturnStatement (LiteralWrapper.make(dc.getName().getQualifiedName()))));
}
javaMethod.addStatement (sw);
javaMethod.addStatement(new ReturnStatement(LiteralWrapper.make ("Unknown data constructor")));
return tagDCClassRep;