2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-07-03 17:51:54 +00:00

ZoneCodeGenerator: Add Next and Peek queries for Tags and Matches

This commit is contained in:
Jan
2019-10-04 12:50:00 +02:00
parent f13eac7436
commit a1670305c7
25 changed files with 175 additions and 114 deletions

View File

@ -28,7 +28,7 @@ namespace ZoneCodeGenerator.Parsing.CommandFile.Tests
protected override void ProcessMatch(ICommandParserState state)
{
var assetTypeName = GetMatcherTokens(AssetTypeNameToken)[0];
var assetTypeName = NextMatch(AssetTypeNameToken);
var assetType = state.Repository.GetDataTypeByName(assetTypeName);
if (assetType == null)
@ -47,7 +47,7 @@ namespace ZoneCodeGenerator.Parsing.CommandFile.Tests
throw new LoadingException($"Could not find information for type '{assetTypeName}' to mark it as an asset.");
}
var enumEntryName = GetMatcherTokens(AssetEnumEntryToken)[0];
var enumEntryName = NextMatch(AssetEnumEntryToken);
var enumEntry = state.Repository.GetAllEnums()
.SelectMany(_enum => _enum.Members)
.FirstOrDefault(member => member.Name.Equals(enumEntryName, StringComparison.CurrentCultureIgnoreCase));

View File

@ -32,10 +32,10 @@ namespace ZoneCodeGenerator.Parsing.CommandFile.Tests
protected override void ProcessMatch(ICommandParserState state)
{
var blockName = GetMatcherTokens(BlockNameToken)[0];
var blockNumber = int.Parse(GetMatcherTokens(BlockNumberToken)[0]);
var blockName = NextMatch(BlockNameToken);
var blockNumber = int.Parse(NextMatch(BlockNumberToken));
var blockTypeInput = GetMatcherTokens(BlockTypeToken)[0];
var blockTypeInput = NextMatch(BlockTypeToken);
if (!Enum.TryParse(blockTypeInput, true, out FastFileBlock.Type blockType))
{
var blockTypeValues = Enum.GetValues(typeof(FastFileBlock.Type)).OfType<FastFileBlock.Type>()

View File

@ -31,7 +31,7 @@ namespace ZoneCodeGenerator.Parsing.CommandFile.Tests
throw new TestFailedException($"Game has already been set with value '{state.Game}'");
}
state.Game = GetMatcherTokens(GameNameToken)[0];
state.Game = NextMatch(GameNameToken);
}
}
}

View File

@ -22,7 +22,7 @@ namespace ZoneCodeGenerator.Parsing.CommandFile.Tests
protected override void ProcessMatch(ICommandParserState state)
{
var typeName = GetMatcherTokens(TypeNameToken)[0];
var typeName = NextMatch(TypeNameToken);
var dataTypeToUse = state.Repository.GetDataTypeByName(typeName);
if (dataTypeToUse == null)