anchor.diff:        result.add(pop());
       }
       return result;
  +  }
  +
  +  /// Generate instructions to evaluate the named arguments in source order.
  +  /// Returns a fresh map from parameter name to evaluated argument.
  +  Map<String, HInstruction> _visitNamedArguments(ir.Arguments arguments) {
  +    Map<String, HInstruction> values = {};
  +    for (ir.NamedExpression argument in arguments.named) {
  +      argument.value.accept(this);
  +      values[argument.name] = pop();
  +    }
  +    return values;
     }
   
     /// Builds the list of instructions for the expressions in the arguments to a
  
positive.code:     }
    }
  
    /// Extracts the list of instructions for the positional subset of arguments.
    List<HInstruction> _visitPositionalArguments(ir.Arguments arguments) {
      List<HInstruction> result = [];
      for (ir.Expression argument in arguments.positional) {
  
negative.code:     }
  
      if (parameterStructure.namedParameters.isNotEmpty) {
        Map<String, HInstruction> namedValues = _visitNamedArguments(arguments);
  
        // Visit named arguments in parameter-position order, selecting provided
        // or default value.
  