private InjectedFunctionInfo GetInjectedFunctionInfo(ManagedUnrealFunctionInfo functionInfo)
            {
                InjectedFunctionInfo injectedFunctionInfo;

                if (!Functions.TryGetValue(functionInfo, out injectedFunctionInfo))
                {
                    Functions.Add(functionInfo, injectedFunctionInfo = new InjectedFunctionInfo(functionInfo));
                }
                return(injectedFunctionInfo);
            }
            public FieldDefinition GetFunctionIsValid(ManagedUnrealFunctionInfo functionInfo)
            {
                InjectedFunctionInfo injectedFunctionInfo = TryGetInjectedFunctionInfo(functionInfo);

                return(injectedFunctionInfo != null ? injectedFunctionInfo.IsValid : null);
            }
            public FieldDefinition GetFunctionAddressPerInstance(ManagedUnrealFunctionInfo functionInfo)
            {
                InjectedFunctionInfo injectedFunctionInfo = TryGetInjectedFunctionInfo(functionInfo);

                return(injectedFunctionInfo != null ? injectedFunctionInfo.FunctionAddressPerInstance : null);
            }
            public FieldDefinition GetFunctionParamsSize(ManagedUnrealFunctionInfo functionInfo)
            {
                InjectedFunctionInfo injectedFunctionInfo = TryGetInjectedFunctionInfo(functionInfo);

                return(injectedFunctionInfo != null ? injectedFunctionInfo.ParamsSize : null);
            }