예제 #1
0
        /// <summary>
        /// Generate for a single frame
        /// </summary>
        /// <param name="frame"></param>
        /// <param name="generateMacroCode"></param>
        /// <returns></returns>
        public static BladesLibrary Generate(AstFrame frame, bool generateMacroCode = true)
        {
            var libGen = new BladesLibrary(frame.Root)
            {
                MacroGenDefaults = { AllowGenerateMacroCode = generateMacroCode }
            };


            libGen.SelectedSymbols.Add(frame);

            libGen.Generate();

            return(libGen);
        }
 internal BladesLibraryCodePartGenerator(BladesLibrary libGen)
     : base(libGen)
 {
     Frame           = libGen.CurrentFrame;
     FrameTargetName = libGen.CurrentFrameName;
 }
 internal BladesLibraryCodeFileGenerator(BladesLibrary libGen)
     : base(libGen)
 {
     CurrentFrame     = libGen.CurrentFrame;
     CurrentFrameName = libGen.CurrentFrameName;
 }
예제 #4
0
 internal BladesLibraryMacroCodeFileGenerator(BladesLibrary libGen, AstMacro baseMacro)
     : base(libGen, baseMacro)
 {
     CurrentFrame     = libGen.CurrentFrame;
     CurrentFrameName = libGen.CurrentFrameName;
 }
예제 #5
0
 internal BladesLibraryMacroCodeFileGenerator(BladesLibrary libGen, string baseMacroName)
     : base(libGen, libGen.CurrentFrame.Macro(baseMacroName))
 {
     CurrentFrame     = libGen.CurrentFrame;
     CurrentFrameName = libGen.CurrentFrameName;
 }