BFSchema.CodeGenerators.CSharp.CSharpGenerator.MakeClass C# (CSharp) Method

MakeClass() public method

public MakeClass ( IBfsDataBlock block ) : CodeClass
block IBfsDataBlock
return CodeClass
        public CodeClass MakeClass(IBfsDataBlock block)
        {
            //Append all local fields no matter the type
            CodeClass codeClass = new CodeClass(block.Name);
            foreach (BfsLocalField localField in block.LocalFieldList)
                codeClass.CodeFields.Add( localField.PrimitiveType.PrimitiveType.ToString().ToLower() + " " + localField.Name + ";");

            if (block is BfsStruct)
            {
                BfsStruct dataStruct = block as BfsStruct;
                MakeStruct(codeClass, dataStruct);
                return codeClass;
            }
            else if (block is BfsEnum)
            {
                BfsEnum dataEnum = block as BfsEnum;
                MakeEnum(codeClass, dataEnum);
                return codeClass;
            }
            else if (block is BfsBitfield)
            {
                BfsBitfield dataField = block as BfsBitfield;
                MakeBitfield(codeClass, dataField);
                return codeClass;
            }
            else if (block is BfsAbsOffset || block is BfsRelOffset)
            {
                BfsCompiler.ReportError(block.BlockTypeSourceRange,"Not yet implemented: Support for abs_offset or rel_offset!");
            }

            return null;
        }