<commit_before>package uhx.compiletime.types;
import haxe.macro.Expr;
import haxe.macro.Type;
import haxe.macro.Context;
import sys.FileSystem;

using uhx.compiletime.tools.MacroHelpers;

class GlueInfo {
  public static inline var UNITY_CPP_EXT = '.uhxglue.gen.cpp';
  public static inline var UNITY_CPP_PREFIX = '';

  public static function getHeaderPath(tref:TypeRef, ?ensureExists=false):String {
    var ret = getHeaderDir(tref);
    if (ensureExists && !FileSystem.exists(ret)) {
      FileSystem.createDirectory(ret);
    }
    return ret + '/' + tref.name + '.h';
  }

  public static function getHeaderDir(tref:TypeRef):String {
    var cur = Globals.cur,
        ret = null;
    if (cur.glueUnityBuild) {
      ret = cur.staticBaseDir + '/Generated';
    } else {
      ret = cur.unrealSourceDir + '/Generated';
    }
    return ret + '/Private/${tref.pack.join("/")}';
  }

  public static function getPublicHeaderPath(tref:TypeRef, ?ensureExists=false):String {<commit_msg>.gen.cpp makes the file be excluded in the working set, thus included in the unity build file<commit_after>package uhx.compiletime.types;
import haxe.macro.Expr;
import haxe.macro.Type;
import haxe.macro.Context;
import sys.FileSystem;

using uhx.compiletime.tools.MacroHelpers;

class GlueInfo {
  public static inline var UNITY_CPP_EXT = '.uhxglue.cpp';
  public static inline var UNITY_CPP_PREFIX = '';

  public static function getHeaderPath(tref:TypeRef, ?ensureExists=false):String {
    var ret = getHeaderDir(tref);
    if (ensureExists && !FileSystem.exists(ret)) {
      FileSystem.createDirectory(ret);
    }
    return ret + '/' + tref.name + '.h';
  }

  public static function getHeaderDir(tref:TypeRef):String {
    var cur = Globals.cur,
        ret = null;
    if (cur.glueUnityBuild) {
      ret = cur.staticBaseDir + '/Generated';
    } else {
      ret = cur.unrealSourceDir + '/Generated';
    }
    return ret + '/Private/${tref.pack.join("/")}';
  }

  public static function getPublicHeaderPath(tref:TypeRef, ?ensureExists=false):String {
{'fraction_non_alphanumeric': 0.125, 'fraction_numerical': 0.0, 'mean_word_length': 3.7651162790697676, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5991537', 'n_tokens_mistral': 680, 'n_tokens_neox': 659, 'n_words': 150}