void compile(PsiElement @NotNull [] elements, @NotNull CompileContext context) {
    if (elements.length == 0) {
      throw new MalformedPatternException();
    }
    myCodeBlockLevel = 0;
    this.context = context;
    final StructuralSearchProfile profile = StructuralSearchUtil.getProfileByFileType(context.getOptions().getFileType());
    assert profile != null;
    profile.compile(elements, this);

    assert context.getPattern().getStrategy() != null;
  }
void compile(PsiElement @NotNull [] elements, @NotNull CompileContext context)