# loki.transformations.inline.tests.test_procedures

Functions

`test_inline_internal_routines_aliasing_declaration`(...) | Test declaration splitting when inlining internal procedures.
`test_inline_marked_routine_with_optionals`(...) | Test subroutine inlining via marker pragmas with omitted optionals.
`test_inline_marked_subroutines`(frontend, ...) | Test subroutine inlining via marker pragmas.
`test_inline_marked_subroutines_declarations`(...) | Test symbol propagation to hoisted declaration when inlining.
`test_inline_marked_subroutines_imports`(...) | Test propagation of necessary imports to the parent function
`test_inline_marked_subroutines_with_associates`(...) | Test subroutine inlining via marker pragmas with nested associates.
`test_inline_marked_subroutines_with_interfaces`(...) | Test inlining of subroutines with explicit interfaces via marker pragmas.
`test_inline_member_functions`(tmp_path, frontend) | Test inlining of member subroutines.
`test_inline_member_routines`(tmp_path, frontend) | Test inlining of member subroutines.
`test_inline_member_routines_arg_dimensions`(...) | Test inlining of member subroutines when sub-arrays of rank less than the formal argument are passed.
`test_inline_member_routines_derived_type_member`(...) | Test inlining of member subroutines when the member routine handles arrays that are derived type components and thus might have the DEFERRED type.
`test_inline_member_routines_indexing_of_shadowed_array`(...) | Test special case of inlining of member subroutines when inlined routine contains shadowed array and array indices.
`test_inline_member_routines_sequence_assoc`(...) | Test inlining of member subroutines in the presence of sequence associations.
`test_inline_member_routines_variable_shadowing`(...) | Test inlining of member subroutines when variable allocations in child routine shadow different allocations in the parent.
`test_inline_member_routines_with_associate`(...) | Ensure that internal routines with `Associate` constructs get inlined as expected.
`test_inline_member_routines_with_optionals`(...) | Ensure that internal routines with optional arguments get inlined as expected (esp.

test_inline_member_routines(tmp_path, frontend)

  Test inlining of member subroutines.

test_inline_member_functions(tmp_path, frontend)

  Test inlining of member subroutines.

test_inline_member_routines_arg_dimensions(frontend)

  Test inlining of member subroutines when sub-arrays of rank less than the formal argument are passed.

test_inline_member_routines_derived_type_member(frontend)

  Test inlining of member subroutines when the member routine handles arrays that are derived type components and thus might have the DEFERRED type.

test_inline_member_routines_variable_shadowing(frontend)

  Test inlining of member subroutines when variable allocations in child routine shadow different allocations in the parent.

test_inline_internal_routines_aliasing_declaration(frontend)

  Test declaration splitting when inlining internal procedures.

test_inline_member_routines_indexing_of_shadowed_array(frontend)

  Test special case of inlining of member subroutines when inlined routine contains shadowed array and array indices. In particular, this test checks that also the variables indexing the array in the inlined result get renamed correctly.

test_inline_member_routines_sequence_assoc(frontend)

  Test inlining of member subroutines in the presence of sequence associations. As this is not supported, we check for the appropriate error.

test_inline_member_routines_with_associate(frontend)

  Ensure that internal routines with `Associate` constructs get inlined as expected.

test_inline_member_routines_with_optionals(frontend)

  Ensure that internal routines with optional arguments get inlined as expected (esp. present instrinsics are correctly evaluated for all variables types)

test_inline_marked_subroutines(frontend, adjust_imports, tmp_path)

  Test subroutine inlining via marker pragmas.

test_inline_marked_subroutines_with_interfaces(frontend, tmp_path)

  Test inlining of subroutines with explicit interfaces via marker pragmas.

test_inline_marked_routine_with_optionals(frontend, adjust_imports, tmp_path)

  Test subroutine inlining via marker pragmas with omitted optionals.

test_inline_marked_subroutines_with_associates(frontend)

  Test subroutine inlining via marker pragmas with nested associates.

test_inline_marked_subroutines_declarations(frontend, tmp_path)

  Test symbol propagation to hoisted declaration when inlining.

test_inline_marked_subroutines_imports(frontend, tmp_path)

  Test propagation of necessary imports to the parent function