@Override public void visitTypeConstructorExpr(TypeConstructorExpr typeConstructorExpr) { super.visitTypeConstructorExpr(typeConstructorExpr); if (typeConstructorExpr.getTypename().equals(getOuterStructName())) { TypeConstructorExpr oldArg = (TypeConstructorExpr) typeConstructorExpr.removeArg(indexOfInlinedField); for (int i = 0; i < oldArg.getNumArgs(); i++) { typeConstructorExpr.insertArg(indexOfInlinedField + i, oldArg.getArg(i)); } } }