private void ParsePrimitiveVectorMethode() { var m = RegularExpression.GetRegex(RegexEnum.ReadVectorMethodPrimitive).Match(FileToTranslate); while (m.Success) { foreach (var newClass in Class.Variables) { if (newClass.Name != m.Groups["name"].Value) { continue; } if ((newClass.ObjectType == "int") & (m.Groups["methode"].Value == "readByte")) { newClass.ReadMethod = "ReadSByte"; newClass.WriteMethod = "WriteSByte"; newClass.ObjectType = "sbyte"; } else if ((newClass.ObjectType == "uint") & (m.Groups["methode"].Value == "readByte")) { newClass.ReadMethod = "ReadByte"; newClass.WriteMethod = "WriteByte"; newClass.ObjectType = "byte"; } else { newClass.ReadMethod = ReadOrWriteMethod.GetReadMethode(m.Groups["methode"].Value, "read"); newClass.WriteMethod = ReadOrWriteMethod.GetWriteMethode(m.Groups["methode"].Value, "read"); newClass.ObjectType = PrimitiveType.GetTypeByReadMethode(newClass.ReadMethod); } newClass.MethodType = ReadMethodType.VectorPrimitive; } m = m.NextMatch(); } }
private void ParseVectorFields() { var bracketOpen = Array.FindIndex(FileLines, entry => entry.Contains("function serializeAs_")); if (!FileLines[bracketOpen].EndsWith("{")) { bracketOpen++; } var bracketClose = Brackets[bracketOpen]; var methodlines = new string[bracketClose - 1 - bracketOpen]; Array.Copy(FileLines, bracketOpen + 1, methodlines, 0, bracketClose - 1 - bracketOpen); var vectorFields = methodlines.Where(line => line.Trim() != "") .Aggregate("", (current, line) => current + (line + (char)10)); var m = RegularExpression.GetRegex(RegexEnum.VarVectorFieldWrite).Match(vectorFields); while (m.Success) { foreach (var newClass in Class.Variables) { if (newClass.Name != m.Groups["name"].Value) { continue; } newClass.VectorFieldWrite = ReadOrWriteMethod.GetWriteMethode(m.Groups["methode"].Value, "write"); newClass.VectorFieldRead = ReadVectorField.GetReadMethode(m.Groups["methode"].Value); } m = m.NextMatch(); } }