shift-parser parses a single string (e.g. "foo") as a program with 0 statements and 1 directive, "foo"
Directives in replacers don't matter so shift-refactor should either intelligently promote the directive to a LiteralStringExpression or add a dummy directive to avoid this case.