Skip to content
This repository has been archived by the owner on Sep 16, 2019. It is now read-only.

Non-existent entity base classes are reported as circular dependencies #312

Open
SamVanheer opened this issue Jul 18, 2019 · 0 comments
Open

Comments

@SamVanheer
Copy link

When an entity base class does not exist Sledge reports it as having circular dependencies.

For example, this is from a Deleted Scenes fgd that has an incorrect baseclass:

@PointClass base(angle) = item_armor : "Armor" []

This generates the following error:

Circular dependencies: item_armor (System.Exception)
   bij Sledge.DataStructures.GameData.GameData.CreateDependencies() in D:\Github\sledge\Sledge.DataStructures\GameData\GameData.cs:regel 34
   bij Sledge.Providers.GameData.FgdGameDataProvider.GetGameDataFromFiles(IEnumerable`1 files) in D:\Github\sledge\Sledge.Providers\GameData\FgdGameDataProvider.cs:regel 24
   bij Sledge.BspEditor.Environment.Goldsource.GoldsourceEnvironment.MakeGameDataAsync() in D:\Github\sledge\Sledge.BspEditor\Environment\Goldsource\GoldsourceEnvironment.cs:regel 166
   bij System.Lazy`1.CreateValue()
   bij System.Lazy`1.LazyInitValue()
   bij System.Lazy`1.get_Value()
   bij Sledge.BspEditor.Environment.Goldsource.GoldsourceEnvironment.GetGameData() in D:\Github\sledge\Sledge.BspEditor\Environment\Goldsource\GoldsourceEnvironment.cs:regel 176
   bij Sledge.BspEditor.Grid.SquareGridFactory.<Create>d__26.MoveNext() in D:\Github\sledge\Sledge.BspEditor\Grid\SquareGridFactory.cs:regel 32
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
   bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bij Sledge.BspEditor.Providers.Processors.AddDefaults.<AfterLoad>d__4.MoveNext() in D:\Github\sledge\Sledge.BspEditor\Providers\Processors\AddDefaults.cs:regel 31
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
   bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bij Sledge.BspEditor.Documents.BspSourceDocumentLoader.<ProcessAfterLoad>d__41.MoveNext() in D:\Github\sledge\Sledge.BspEditor\Documents\BspSourceDocumentLoader.cs:regel 180
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
   bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bij Sledge.BspEditor.Documents.BspSourceDocumentLoader.<CreateBlank>d__39.MoveNext() in D:\Github\sledge\Sledge.BspEditor\Documents\BspSourceDocumentLoader.cs:regel 123
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
   bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bij Sledge.Shell.Registers.DocumentRegister.<NewDocument>d__13.MoveNext() in D:\Github\sledge\Sledge.Shell\Registers\DocumentRegister.cs:regel 86
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
   bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bij Sledge.Shell.Commands.NewFile.<Invoke>d__12.MoveNext() in D:\Github\sledge\Sledge.Shell\Commands\NewFile.cs:regel 64
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
   bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bij Sledge.Shell.Registers.CommandRegister.<Run>d__3.MoveNext() in D:\Github\sledge\Sledge.Shell\Registers\CommandRegister.cs:regel 58
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
   bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bij LogicAndTrick.Oy.InMemoryMessageBus.<>c__DisplayClass5_0`1.<<Subscribe>b__0>d.MoveNext()
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
   bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bij LogicAndTrick.Oy.InMemoryMessageBus.<Publish>d__4`1.MoveNext()

It would also be nice if the line and column numbers could be printed when this error occurs to help locate fgd errors.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant