return '__o_{}'.format(info.name) else: return '__o' FuncDef make_generic_wrapper_init(self, TypeInfo info): """Build constructor of a generic wrapper class.""" nslots = num_slots(info) cdefs = <Node> [] # Build superclass constructor call. if info.base.full_name() != 'builtins.object' and self.tf.is_java: s = SuperExpr('__init__') cargs = <Node> [NameExpr('__o')] for n in range(num_slots(info.base)): cargs.append(NameExpr(tvar_arg_name(n + 1))) for n in range(num_slots(info.base)): cargs.append(NameExpr(tvar_arg_name(n + 1, BOUND_VAR))) c = CallExpr(s, cargs, [nodes.ARG_POS] * len(cargs)) cdefs.append(ExpressionStmt(c)) # Create initialization of the wrapped object. cdefs.append(AssignmentStmt([MemberExpr( self_expr(), self.object_member_name(info), direct=True)], NameExpr('__o'))) # Build constructor arguments. args = [Var('self'), Var('__o')] Node[] init = [None, None]