hydra.java.coder module
Java code generator: converts Hydra modules to Java source code.
- hydra.java.coder.add_comment(decl: ClassBodyDeclaration, field: FieldType, cx: T0, g: Graph) object
Attach comments derived from a field’s annotations to a class body declaration.
- hydra.java.coder.analyze_java_function(env: JavaEnvironment, term: Term, cx: InferenceContext, g: T0) object
- hydra.java.coder.annotate_lambda_args(cname: Name, t_apps: Sequence[Type], arg_terms: Sequence[Term], cx: T0, g: Graph) object
- hydra.java.coder.apply_cast_if_safe(aliases: Aliases, cast_type: Type, expr: Expression, cx: T0, g: Graph) object
- hydra.java.coder.apply_java_arg(expr: Expression, jarg: Expression) Expression
- hydra.java.coder.apply_overgen_subst_to_term_annotations(subst: Mapping[Name, Type], term0: Term, cx: T0, g: Graph) object
- hydra.java.coder.apply_overgen_subst_to_term_annotations_go(subst: Mapping[Name, Type], cx: Graph, term: Term) Term
- hydra.java.coder.arrays_compare_expr(other_var: str, fname: str) Expression
- hydra.java.coder.arrays_equals_clause(tmp_name: str, fname: str) InclusiveOrExpression
- hydra.java.coder.augment_variant_class(aliases: Aliases, tparams: Sequence[TypeParameter], el_name: Name, cd: ClassDeclaration) ClassDeclaration
- hydra.java.coder.bindings_to_statements(env: JavaEnvironment, bindings: Sequence[Binding], cx: InferenceContext, g0: Graph) object
- hydra.java.coder.build_arg_subst(scheme_var_set: Set[Name], scheme_doms: Sequence[Type], arg_types: Sequence[T0]) Mapping[Name, T0]
- hydra.java.coder.build_curried_lambda(params: Sequence[Name], inner: Expression) Expression
- hydra.java.coder.build_subst_from_annotations(scheme_var_set: Set[Name], term: Term, cx: T0, g: Graph) object
- hydra.java.coder.build_subst_from_annotations_go(scheme_var_set: Set[Name], g: Graph, term: Term) Mapping[Name, Name]
- hydra.java.coder.build_type_subst(scheme_var_set: Set[Name], scheme_type: Type, actual_type: Type) Mapping[Name, Type]
- hydra.java.coder.build_type_var_subst(scheme_var_set: Set[Name], fresh_typ: Type, canon_typ: Type) Mapping[Name, Name]
- hydra.java.coder.classify_data_term(ts: TypeScheme, term: Term) JavaSymbolClass
- hydra.java.coder.cmp_decl_statement(aliases: T0) BlockStatement
- hydra.java.coder.cmp_not_zero_expr() Expression
- hydra.java.coder.collection_type_args(label: str, n: int, aliases: Aliases, anns: Sequence[Mapping[Name, Term]], tyapps: Sequence[Type], cx: T0, g: Graph) object
- hydra.java.coder.comparable_compare_expr(other_var: str, fname: str) Expression
- hydra.java.coder.compare_and_return_stmts(other_var: str, f: FieldType) Sequence[BlockStatement]
- hydra.java.coder.compare_field_expr(other_var: str, ft: FieldType) Expression
- hydra.java.coder.compare_to_body(aliases: T0, other_var: str, fields: Sequence[FieldType]) Sequence[BlockStatement]
- hydra.java.coder.compare_to_zero_clause(tmp_name: str, fname: str) InclusiveOrExpression
- hydra.java.coder.constant_decl(comment: str, java_name: str, aliases: Aliases, name: Name, cx: InferenceContext, g: Graph) object
- hydra.java.coder.constant_decl_for_field_type(parent_name: Name, aliases: Aliases, ftyp: FieldType, cx: InferenceContext, g: Graph) object
- hydra.java.coder.constant_decl_for_type_name(aliases: Aliases, name: Name, cx: InferenceContext, g: Graph) object
- hydra.java.coder.construct_elements_interface(mod: Module, members: Sequence[InterfaceMemberDeclarationWithComments]) tuple[Name, CompilationUnit]
- hydra.java.coder.correct_cast_type(inner_body: Term, type_args: Sequence[Type], fallback: Type, cx: T0, g: T1) object
- hydra.java.coder.correct_type_apps(gr: T0, name: Name, args: Sequence[Term], fallback_type_apps: Sequence[Type], cx: T1, g: Graph) object
- hydra.java.coder.correct_type_apps_with_args(scheme_vars: Sequence[Name], fallback_type_apps: Sequence[Type], scheme_type: Type, args: Sequence[Term], cx: T0, g: Graph) object
- hydra.java.coder.declaration_for_record_type(is_inner: bool, is_ser: bool, aliases: Aliases, tparams: Sequence[TypeParameter], el_name: Name, fields: Sequence[FieldType], cx: InferenceContext, g: Graph) object
- hydra.java.coder.declaration_for_record_type_(is_inner: bool, is_ser: bool, aliases: Aliases, tparams: Sequence[TypeParameter], el_name: Name, parent_name: object, ordinal: object, fields: Sequence[FieldType], cx: InferenceContext, g: Graph) object
- hydra.java.coder.declaration_for_union_type(is_ser: bool, aliases: Aliases, tparams: Sequence[TypeParameter], el_name: Name, fields: Sequence[FieldType], cx: InferenceContext, g: Graph) object
- hydra.java.coder.detect_accumulator_unification(doms: Sequence[Type], cod: Type, tparams: Sequence[Name]) Mapping[Name, Type]
- hydra.java.coder.direct_ref_substitution(direct_input_vars: Set[T0], cod_var: object, grouped: Mapping[T0, Sequence[T0]]) Mapping[T0, T0]
- hydra.java.coder.direct_ref_substitution_process_group(direct_input_vars: Set[T0], cod_var: object, subst: Mapping[T0, T0], in_var: T0, out_vars: Sequence[T0]) Mapping[T0, T0]
- hydra.java.coder.element_java_identifier(is_prim: bool, is_method: bool, aliases: Aliases, name: Name) Identifier
- hydra.java.coder.elements_class_name(ns: ModuleName) str
- hydra.java.coder.elements_qualified_name(ns: ModuleName) Name
- hydra.java.coder.encode_application(env: JavaEnvironment, app: Application, cx: InferenceContext, g0: Graph) object
- hydra.java.coder.encode_application_fallback(env: JavaEnvironment, aliases: Aliases, gr: Graph, type_apps: Sequence[Type], lhs: Term, rhs: Term, cx: InferenceContext, g: Graph) object
- hydra.java.coder.encode_definitions(overlay_subs: Set[str], mod: Module, defs: Sequence[Definition], cx: InferenceContext, g: Graph) object
- hydra.java.coder.encode_elimination(env: JavaEnvironment, marg: object, dom: Type, cod: Type, elim_term: Term, cx: InferenceContext, g: Graph) object
- hydra.java.coder.encode_function(env: JavaEnvironment, dom: Type, cod: Type, fun_term: Term, cx: InferenceContext, g: Graph) object
- hydra.java.coder.encode_function_form_term(env: JavaEnvironment, anns: Sequence[Mapping[Name, Term]], term: Term, cx: InferenceContext, g: Graph) object
- hydra.java.coder.encode_function_primitive_by_name(env: JavaEnvironment, dom: Type, cod: Type, name: Name, cx: T0, g: Graph) object
- hydra.java.coder.encode_literal(lit: Literal) Expression
- hydra.java.coder.encode_literal_encode_float(f: FloatValue) Expression
- hydra.java.coder.encode_literal_encode_float32(v: float) Expression
- hydra.java.coder.encode_literal_encode_float64(v: float) Expression
- hydra.java.coder.encode_literal_encode_integer(i: IntegerValue) Expression
- hydra.java.coder.encode_literal_java_parse_double(value: str) Expression
- hydra.java.coder.encode_literal_java_special_float_expr(class_name: str, field_name: str) Expression
- hydra.java.coder.encode_literal_lit_exp(l: Literal) Expression
- hydra.java.coder.encode_literal_prim_cast(pt: PrimitiveType, expr: Expression) Expression
- hydra.java.coder.encode_literal_type(lt: LiteralType, cx: T0, g: T1) object
- hydra.java.coder.encode_literal_type_simple(n: str, cx: T0, g: T1) object
- hydra.java.coder.encode_nullary_constant_type_args_from_return_type(aliases: Aliases, t: Type, cx: T0, g: Graph) object
- hydra.java.coder.encode_nullary_primitive_by_name(env: JavaEnvironment, typ: Type, name: Name, cx: T0, g: Graph) object
- hydra.java.coder.encode_term(env: JavaEnvironment, term: Term, cx: InferenceContext, g: Graph) object
- hydra.java.coder.encode_term_definition(env: JavaEnvironment, tdef: TermDefinition, cx: InferenceContext, g: Graph) object
- hydra.java.coder.encode_term_internal(env: JavaEnvironment, anns: Sequence[Mapping[Name, Term]], tyapps: Sequence[Type], term: Term, cx: InferenceContext, g0: Graph) object
- hydra.java.coder.encode_term_t_c_o(env0: JavaEnvironment, func_name: Name, param_names: Sequence[Name], tparams: Sequence[Name], tco_var_renames: Mapping[Name, Name], tco_depth: int, term: Term, cx: InferenceContext, g: Graph) object
- hydra.java.coder.encode_type(aliases: Aliases, bound_vars: Set[Name], t: Type, cx: T0, g: Graph) object
- hydra.java.coder.encode_type_definition(pkg: PackageDeclaration, aliases: Aliases, tdef: TypeDefinition, cx: InferenceContext, g: Graph) object
- hydra.java.coder.encode_type_resolve_if_typedef(aliases: T0, bound_vars: Set[Name], in_scope_type_params: Set[Name], name: Name, cx: T1, g: Graph) object
- hydra.java.coder.encode_variable(env: JavaEnvironment, name: Name, cx: T0, g: Graph) object
- hydra.java.coder.encode_variable_build_curried(params: Sequence[Name], inner: Expression) Expression
- hydra.java.coder.encode_variable_hoisted_lambda_case(aliases: Aliases, name: Name, arity: int, cx: T0, g: Graph) object
- hydra.java.coder.eq_clause(tmp_name: str, ft: FieldType) InclusiveOrExpression
- hydra.java.coder.equals_clause(tmp_name: str, fname: str) InclusiveOrExpression
- hydra.java.coder.extract_direct_return_go(tparam_set: Set[Name], t: Type) Sequence[tuple[Name, Name]]
- hydra.java.coder.field_to_string_part(f: FieldType) Sequence[MultiplicativeExpression]
- hydra.java.coder.field_type_to_formal_param(aliases: Aliases, ft: FieldType, cx: T0, g: Graph) object
- hydra.java.coder.filter_by_flags(xs: Sequence[T0], flags: Sequence[bool]) Sequence[T0]
- hydra.java.coder.filter_phantom_type_args(callee_name: Name, all_type_args: Sequence[Type], cx: T0, g: Graph) object
- hydra.java.coder.filter_phantom_type_args_filter_and_apply(all_type_args: Sequence[Type], keep_flags: Sequence[bool], overgen_subst: Mapping[Name, Type]) Sequence[Type]
- hydra.java.coder.find_self_ref_var(grouped: Mapping[T0, Sequence[T0]]) object
- hydra.java.coder.function_call(env: JavaEnvironment, is_prim: bool, name: Name, args: Sequence[Term], type_apps: Sequence[Type], cx: InferenceContext, g: Graph) object
- hydra.java.coder.group_pairs_by_first(pairs: Sequence[tuple[T0, T1]]) Mapping[T0, Sequence[T1]]
- hydra.java.coder.hash_code_compare_expr(other_var: str, fname: str) Expression
- hydra.java.coder.hash_code_mult_pair(i: int, fname: Name) MultiplicativeExpression
- hydra.java.coder.hydra_ordinal_method(ordinal: object) ClassBodyDeclaration
- hydra.java.coder.inner_class_ref(aliases: Aliases, name: Name, local: str) Identifier
- hydra.java.coder.insert_branch_var(name: Name, env: JavaEnvironment) JavaEnvironment
- hydra.java.coder.interface_types(is_ser: bool, aliases: Aliases, tparams: Sequence[TypeParameter], el_name: Name) Sequence[InterfaceType]
- hydra.java.coder.is_unresolved_inference_var_is_digit(c: int) bool
- hydra.java.coder.java_comparable_ref_type() ReferenceType
- hydra.java.coder.java_env_get_graph(env: JavaEnvironment) Graph
- hydra.java.coder.java_env_set_graph(g: Graph, env: JavaEnvironment) JavaEnvironment
- hydra.java.coder.java_identifier_to_string(id: Identifier) str
- hydra.java.coder.java_type_arguments_for_type(typ: Type) Sequence[TypeArgument]
- hydra.java.coder.java_type_parameters_for_type(typ: Type) Sequence[TypeParameter]
- hydra.java.coder.module_to_java(overlay_subs: Set[str], mod: Module, defs: Sequence[Definition], cx: InferenceContext, g: Graph) object
- hydra.java.coder.namespace_parent(ns: ModuleName) object
- hydra.java.coder.no_comment(decl: ClassBodyDeclaration) ClassBodyDeclarationWithComments
- hydra.java.coder.no_interface_comment(decl: InterfaceMemberDeclaration) InterfaceMemberDeclarationWithComments
- hydra.java.coder.otherwise_branch(env: JavaEnvironment, aliases: Aliases, dom: Type, cod: Type, tname: Name, jcod: Type, targs: Sequence[TypeArgument], d: Term, cx: InferenceContext, g: Graph) object
- hydra.java.coder.propagate_type_rebuild_let(t: Term, bindings: Sequence[Binding], new_body: Term) Term
- hydra.java.coder.record_builder_class(aliases: Aliases, tparams: Sequence[TypeParameter], el_name: Name, fields: Sequence[FieldType], cx: T0, g: Graph) object
- hydra.java.coder.record_compare_to_method(aliases: Aliases, tparams: T0, el_name: Name, fields: Sequence[FieldType]) ClassBodyDeclaration
- hydra.java.coder.record_constructor(aliases: Aliases, el_name: Name, fields: Sequence[FieldType], cx: T0, g: Graph) object
- hydra.java.coder.record_equals_method(aliases: Aliases, el_name: Name, fields: Sequence[FieldType]) ClassBodyDeclaration
- hydra.java.coder.record_hash_code_method(fields: Sequence[FieldType]) ClassBodyDeclaration
- hydra.java.coder.record_to_string_method(el_name: Name, fields: Sequence[FieldType]) ClassBodyDeclaration
- hydra.java.coder.record_with_method(aliases: Aliases, el_name: Name, fields: Sequence[FieldType], field: FieldType, cx: T0, g: Graph) object
- hydra.java.coder.resolve_type_apps(scheme_vars: Sequence[Name], fallback_type_apps: Sequence[Type], arg_subst: Mapping[Name, Type]) Sequence[Type]
- hydra.java.coder.self_ref_substitution(grouped: Mapping[T0, Sequence[T0]]) Mapping[T0, T0]
- hydra.java.coder.self_ref_substitution_process_group(subst: Mapping[T0, T0], in_var: T0, out_vars: Sequence[T0]) Mapping[T0, T0]
- hydra.java.coder.serializable_types(is_ser: bool) Sequence[InterfaceType]
- hydra.java.coder.split_constant_initializer(member: InterfaceMemberDeclaration) Sequence[InterfaceMemberDeclaration]
- hydra.java.coder.split_constant_initializer_split_var(mods: Sequence[ConstantModifier], utype: UnannType, vd: VariableDeclarator) Sequence[InterfaceMemberDeclaration]
- hydra.java.coder.tag_cmp_not_zero_expr() Expression
- hydra.java.coder.tag_compare_expr() Expression
- hydra.java.coder.to_class_decl(is_inner: bool, is_ser: bool, aliases: Aliases, tparams: Sequence[TypeParameter], el_name: Name, t: Type, cx: InferenceContext, g: Graph) object
- hydra.java.coder.to_decl_init(aliases_ext: Aliases, g_ext: Graph, recursive_vars: Set[Name], flat_bindings: Sequence[Binding], name: Name, cx: InferenceContext, g: Graph) object
- hydra.java.coder.to_decl_statement(env_ext: JavaEnvironment, aliases_ext: Aliases, g_ext: Graph, recursive_vars: Set[Name], thunked_vars: Set[Name], flat_bindings: Sequence[Binding], name: Name, cx: InferenceContext, g: Graph) object
- hydra.java.coder.type_app_fallback_cast(env: JavaEnvironment, aliases: Aliases, anns: Sequence[Mapping[Name, Term]], tyapps: Sequence[Type], jatyp: Type, body: Term, typ: Type, cx: InferenceContext, g: Graph) object
- hydra.java.coder.type_app_nullary_or_hoisted(env: JavaEnvironment, aliases: Aliases, anns: Sequence[Mapping[Name, Term]], tyapps: Sequence[Type], jatyp: Type, body: Term, corrected_typ: Type, var_name: Name, cls: JavaSymbolClass, all_type_args: Sequence[Type], cx: InferenceContext, g: Graph) object
- hydra.java.coder.type_args_or_diamond(args: Sequence[TypeArgument]) TypeArgumentsOrDiamond
- hydra.java.coder.variant_compare_to_method(aliases: Aliases, tparams: T0, parent_name: Name, variant_name: Name, ordinal: int, fields: Sequence[FieldType]) Sequence[ClassBodyDeclaration]
- hydra.java.coder.visit_branch(env: JavaEnvironment, aliases: Aliases, dom: Type, tname: Name, jcod: Type, targs: Sequence[TypeArgument], field: CaseAlternative, cx: InferenceContext, g: Graph) object
- hydra.java.coder.with_comment_string(comment: str, decl: ClassBodyDeclaration) ClassBodyDeclarationWithComments
- hydra.java.coder.with_interface_comment_string(comment: str, decl: InterfaceMemberDeclaration) InterfaceMemberDeclarationWithComments
- hydra.java.coder.with_lambda(env: JavaEnvironment, lam: Lambda, k: Callable[[JavaEnvironment], T0]) T0
- hydra.java.coder.with_type_lambda(v1: JavaEnvironment, v2: TypeLambda, v3: Callable[[JavaEnvironment], T0]) T0
- hydra.java.coder.wrap_in_supplier_lambda(expr: Expression) Expression
- hydra.java.coder.wrap_lazy_arguments(g: Graph, name: Name, args: Sequence[Expression]) tuple[Sequence[Expression], object]