Exemplo n.º 1
0
        public string GetGenericContainerParams(Il2CppGenericContainer genericContainer)
        {
            var genericParameterNames = new List <string>();

            for (int i = 0; i < genericContainer.type_argc; i++)
            {
                var genericParameterIndex = genericContainer.genericParameterStart + i;
                var genericParameter      = metadata.genericParameters[genericParameterIndex];
                genericParameterNames.Add(metadata.GetStringFromIndex(genericParameter.nameIndex));
            }
            return($"<{string.Join(", ", genericParameterNames)}>");
        }
Exemplo n.º 2
0
        public string[] GetGenericContainerParamNames(Il2CppGenericContainer genericContainer)
        {
            var genericParameterNames = new string[genericContainer.type_argc];

            for (int i = 0; i < genericContainer.type_argc; i++)
            {
                var genericParameterIndex = genericContainer.genericParameterStart + i;
                var genericParameter      = metadata.genericParameters[genericParameterIndex];
                genericParameterNames[i] = metadata.GetStringFromIndex(genericParameter.nameIndex);
            }
            return(genericParameterNames);
        }
Exemplo n.º 3
0
        public string GetGenericContainerParams(Il2CppGenericContainer genericContainer, bool generic_decl = false)
        {
            string str_class = "";

            if (generic_decl)
            {
                str_class = "class ";
            }
            var genericParameterNames = new List <string>();

            for (int i = 0; i < genericContainer.type_argc; i++)
            {
                var genericParameterIndex = genericContainer.genericParameterStart + i;
                var genericParameter      = metadata.genericParameters[genericParameterIndex];
                //Il2CppDecompiler.types.Add(genericParameter.GetType());
                var parameterName = metadata.GetStringFromIndex(genericParameter.nameIndex);
                parameterName = parameterName.Replace(".", "_");
                genericParameterNames.Add(str_class + parameterName);
            }
            return($"<{string.Join(", ", genericParameterNames)}>");
        }