+ if (tok->type == PSI_T_CPP_PASTE) {
+ paste = true;
+ continue;
+ }
+
+ if (paste && n > 0 && exp_tokens[n - 1]) {
+ struct psi_token *tmp_tok, *old_tok = exp_tokens[n - 1];
+
+ tmp_tok = psi_token_init(old_tok->type, "", 0,
+ target->col, target->line,
+ target->file ? target->file : zend_empty_string);
+
+ new_tok = psi_token_cat(NULL, 3, tmp_tok, old_tok, tok);
+ psi_token_free(&old_tok);
+ psi_token_free(&tmp_tok);