Inject language into non-injection host elements?

Is there any (good) way to inject another language into a PSI tree that doesn’t include PSI injection host elements?

To provide specific context, in free (i.e., unlicensed/Community Edition) IDEs, I can easily find/detect string literals even in the absence of a first-class PSI tree, e.g., for JavaScript/TypeScript files, and for some that match well-defined, recognizable patterns, I’d like to inject the corresponding first-class language.

Those files – typically either abstract file type files or TextMate files – don’t have any real PSI structure, so I was wondering if there was some way to tell the injection system that specific text ranges of the PsiFile itself should be treated as if they were injection hosts.

Hopefully that makes sense. Let me know if not.