private void genGetFieldBody(Type type, Field field, String field_type_name) {
Iterator<Location> locs = field.locationIterator();
boolean first = true;
while (locs.hasNext()) {
Location loc = locs.next();
print(" ");
if (first) {
first = false;
} else {
print("else ");
}
if (locs.hasNext()) {
println("if (" + buildIsAltName(type, loc.getAltId())
+ "(arg)) {");
} else {
println("");
}
print(" return (" + field_type_name + ")");
Iterator<Step> steps = loc.stepIterator();
String type_getter = genATermToBuiltin(field.getType(),
genGetterSteps(steps, "arg"));
print(type_getter);
println(";");
if (locs.hasNext()) {