public IByteElement GetByteElement(NovFile file, ClassesContainer container, IByteElement parent) { ByteClass byteClass = new ByteClass(file, this.ClassName, Type); foreach (var method in this.Methods) { byteClass.Methods.Add((ByteMethod)method.Value.GetByteElement(container, byteClass)); } foreach (var field in this.Fields) { byteClass.Fields.Add((ByteField)field.Value.GetByteElement(container, byteClass)); } return(byteClass); }
private void BuildNovFile() { Method mainEntryPoint = Container.ComputeEntryPoint(); if (mainEntryPoint != null) { this.Result = new NovFile(); this.Result.MainPointEntry = new MainPointEntry(Container.GetClassId(mainEntryPoint.ParentClass), mainEntryPoint.Id); foreach (var @class in Container) { ByteClass byteClass = (ByteClass)@class.Value.GetByteElement(Result, Container, null); Result.ByteClasses.Add(byteClass); } } else { Logger.Write("Invalid or multiple program entry point.", LogType.Error); } }