// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details #include "Luau/ApplyTypeFunction.h" LUAU_FASTFLAG(LuauClassTypeVarsInSubstitution) namespace Luau { bool ApplyTypeFunction::isDirty(TypeId ty) { if (typeArguments.count(ty)) return true; else if (const FreeTypeVar* ftv = get(ty)) { if (ftv->forwardedTypeAlias) encounteredForwardedType = true; return false; } else return false; } bool ApplyTypeFunction::isDirty(TypePackId tp) { if (typePackArguments.count(tp)) return true; else return false; } bool ApplyTypeFunction::ignoreChildren(TypeId ty) { if (get(ty)) return true; else if (FFlag::LuauClassTypeVarsInSubstitution && get(ty)) return true; else return false; } bool ApplyTypeFunction::ignoreChildren(TypePackId tp) { if (get(tp)) return true; else return false; } TypeId ApplyTypeFunction::clean(TypeId ty) { TypeId& arg = typeArguments[ty]; LUAU_ASSERT(arg); return arg; } TypePackId ApplyTypeFunction::clean(TypePackId tp) { TypePackId& arg = typePackArguments[tp]; LUAU_ASSERT(arg); return arg; } } // namespace Luau