MCPcopy Create free account
hub / github.com/boostorg/build / eval_modifiers

Function eval_modifiers

src/engine/function.cpp:927–942  ·  view source on GitHub ↗

STACK: LIST * modifiers[modifier_count]

Source from the content-addressed store, hash-verified

925
926// STACK: LIST * modifiers[modifier_count]
927static VAR_EXPANDED eval_modifiers( STACK * s, LIST * value, int32_t modifier_count )
928{
929 // Convert modifiers to value edits.
930 int32_t edits = expand_modifiers( s, modifier_count );
931 // Edit the value on the stack.
932 stack_push( s, value );
933 VAR_EXPANDED result = apply_modifiers( s, edits );
934 list_free( stack_pop( s ) );
935 // Clean up the value edits on the stack.
936 stack_deallocate( s, edits * sizeof( VAR_EDITS ) );
937 // Clean up the filename modifiers.
938 for ( int32_t i = 0; i < modifier_count; ++i )
939 list_free( stack_pop( s ) );
940 // Done.
941 return result;
942}
943
944
945/*

Callers 1

function_runFunction · 0.85

Calls 6

expand_modifiersFunction · 0.85
stack_pushFunction · 0.85
apply_modifiersFunction · 0.85
list_freeFunction · 0.85
stack_popFunction · 0.85
stack_deallocateFunction · 0.85

Tested by

no test coverage detected