예제 #1
0
        private List <Declaration> GetBuiltInDeclarations()
        {
            var vbaDeclaration = new ProjectDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", MockVbeBuilder.LibraryPathVBA, "VBA"), "VBA"),
                "VBA",
                false, null);

            var conversionModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", MockVbeBuilder.LibraryPathVBA, "Conversion"), "Conversion"),
                vbaDeclaration,
                "Conversion",
                false,
                new List <IAnnotation>(),
                new Attributes());

            var fileSystemModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", MockVbeBuilder.LibraryPathVBA, "FileSystem"), "FileSystem"),
                vbaDeclaration,
                "FileSystem",
                false,
                new List <IAnnotation>(),
                new Attributes());

            var interactionModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", MockVbeBuilder.LibraryPathVBA, "Interaction"), "Interaction"),
                vbaDeclaration,
                "Interaction",
                false,
                new List <IAnnotation>(),
                new Attributes());

            var stringsModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", MockVbeBuilder.LibraryPathVBA, "Strings"), "Strings"),
                vbaDeclaration,
                "Strings",
                false,
                new List <IAnnotation>(),
                new Attributes());

            var dateTimeModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", MockVbeBuilder.LibraryPathVBA, "DateTime"), "DateTime"),
                vbaDeclaration,
                "Strings",
                false,
                new List <IAnnotation>(),
                new Attributes());

            var hiddenModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", MockVbeBuilder.LibraryPathVBA, "_HiddenModule"), "_HiddenModule"),
                vbaDeclaration,
                "_HiddenModule",
                false,
                new List <IAnnotation>(),
                new Attributes());


            var commandFunction = new FunctionDeclaration(
                new QualifiedMemberName(interactionModule.QualifiedName.QualifiedModuleName, "_B_var_Command"),
                interactionModule,
                interactionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var environFunction = new FunctionDeclaration(
                new QualifiedMemberName(interactionModule.QualifiedName.QualifiedModuleName, "_B_var_Environ"),
                interactionModule,
                interactionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var rtrimFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_RTrim"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var chrFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_Chr"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var formatFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_Format"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var firstFormatParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "Expression"),
                formatFunction,
                "Variant",
                null,
                null,
                false,
                true);

            var secondFormatParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "Format"),
                formatFunction,
                "Variant",
                null,
                null,
                true,
                true);

            var thirdFormatParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "FirstDayOfWeek"),
                formatFunction,
                "VbDayOfWeek",
                null,
                null,
                true,
                false);

            formatFunction.AddParameter(firstFormatParam);
            formatFunction.AddParameter(secondFormatParam);
            formatFunction.AddParameter(thirdFormatParam);

            var rightFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_Right"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var firstRightParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "String"),
                rightFunction,
                "Variant",
                null,
                null,
                false,
                true);

            rightFunction.AddParameter(firstRightParam);

            var lcaseFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_LCase"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var leftbFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_LeftB"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var firstLeftBParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "String"),
                leftbFunction,
                "Variant",
                null,
                null,
                false,
                true);

            leftbFunction.AddParameter(firstLeftBParam);

            var chrwFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_ChrW"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var leftFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_Left"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var firstLeftParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "String"),
                leftFunction,
                "Variant",
                null,
                null,
                false,
                true);

            leftFunction.AddParameter(firstLeftParam);

            var rightbFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_RightB"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var firstRightBParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "String"),
                rightbFunction,
                "Variant",
                null,
                null,
                false,
                true);

            rightbFunction.AddParameter(firstRightBParam);

            var midbFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_MidB"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var firstMidBParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "String"),
                midbFunction,
                "Variant",
                null,
                null,
                false,
                true);

            var secondMidBParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "Start"),
                midbFunction,
                "Long",
                null,
                null,
                false,
                false);

            midbFunction.AddParameter(firstMidBParam);
            midbFunction.AddParameter(secondMidBParam);

            var ucaseFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_UCase"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var trimFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_Trim"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var ltrimFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_LTrim"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var midFunction = new FunctionDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "_B_var_Mid"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var firstMidParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "String"),
                midFunction,
                "Variant",
                null,
                null,
                false,
                true);

            var secondMidParam = new ParameterDeclaration(
                new QualifiedMemberName(stringsModule.QualifiedName.QualifiedModuleName, "Start"),
                midFunction,
                "Long",
                null,
                null,
                false,
                false);

            midFunction.AddParameter(firstMidParam);
            midFunction.AddParameter(secondMidParam);

            var hexFunction = new FunctionDeclaration(
                new QualifiedMemberName(conversionModule.QualifiedName.QualifiedModuleName, "_B_var_Hex"),
                conversionModule,
                conversionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var octFunction = new FunctionDeclaration(
                new QualifiedMemberName(conversionModule.QualifiedName.QualifiedModuleName, "_B_var_Oct"),
                conversionModule,
                conversionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var errorFunction = new FunctionDeclaration(
                new QualifiedMemberName(conversionModule.QualifiedName.QualifiedModuleName, "_B_var_Error"),
                conversionModule,
                conversionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var strFunction = new FunctionDeclaration(
                new QualifiedMemberName(conversionModule.QualifiedName.QualifiedModuleName, "_B_var_Str"),
                conversionModule,
                conversionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var curDirFunction = new FunctionDeclaration(
                new QualifiedMemberName(fileSystemModule.QualifiedName.QualifiedModuleName, "_B_var_CurDir"),
                fileSystemModule,
                fileSystemModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var datePropertyGet = new PropertyGetDeclaration(
                new QualifiedMemberName(dateTimeModule.QualifiedName.QualifiedModuleName, "Date"),
                dateTimeModule,
                dateTimeModule,
                "Variant",
                null,
                string.Empty,
                Accessibility.Global,
                null,
                null,
                new Selection(),
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());


            var timePropertyGet = new PropertyGetDeclaration(
                new QualifiedMemberName(dateTimeModule.QualifiedName.QualifiedModuleName, "Time"),
                dateTimeModule,
                dateTimeModule,
                "Variant",
                null,
                string.Empty,
                Accessibility.Global,
                null,
                null,
                new Selection(),
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var inputbFunction = new FunctionDeclaration(
                new QualifiedMemberName(hiddenModule.QualifiedName.QualifiedModuleName, "_B_var_InputB"),
                hiddenModule,
                hiddenModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var firstInputBParam = new ParameterDeclaration(
                new QualifiedMemberName(hiddenModule.QualifiedName.QualifiedModuleName, "Number"),
                inputbFunction,
                "Long",
                null,
                null,
                false,
                true);

            var secondInputBParam = new ParameterDeclaration(
                new QualifiedMemberName(hiddenModule.QualifiedName.QualifiedModuleName, "FileNumber"),
                inputbFunction,
                "Integer",
                null,
                null,
                false,
                true);

            inputbFunction.AddParameter(firstInputBParam);
            inputbFunction.AddParameter(secondInputBParam);

            var inputFunction = new FunctionDeclaration(
                new QualifiedMemberName(hiddenModule.QualifiedName.QualifiedModuleName, "_B_var_Input"),
                hiddenModule,
                hiddenModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                null,
                Selection.Home,
                false,
                false,
                new List <IAnnotation>(),
                new Attributes());

            var firstInputParam = new ParameterDeclaration(
                new QualifiedMemberName(hiddenModule.QualifiedName.QualifiedModuleName, "Number"),
                inputFunction,
                "Long",
                null,
                null,
                false,
                true);

            var secondInputParam = new ParameterDeclaration(
                new QualifiedMemberName(hiddenModule.QualifiedName.QualifiedModuleName, "FileNumber"),
                inputFunction,
                "Integer",
                null,
                null,
                false,
                true);

            inputFunction.AddParameter(firstInputParam);
            inputFunction.AddParameter(secondInputParam);

            return(new List <Declaration>
            {
                vbaDeclaration,
                conversionModule,
                fileSystemModule,
                interactionModule,
                stringsModule,
                dateTimeModule,
                hiddenModule,
                commandFunction,
                environFunction,
                rtrimFunction,
                chrFunction,
                formatFunction,
                firstFormatParam,
                secondFormatParam,
                thirdFormatParam,
                rightFunction,
                firstRightParam,
                lcaseFunction,
                leftbFunction,
                firstLeftBParam,
                chrwFunction,
                leftFunction,
                firstLeftParam,
                rightbFunction,
                firstRightBParam,
                midbFunction,
                firstMidBParam,
                secondMidBParam,
                ucaseFunction,
                trimFunction,
                ltrimFunction,
                midFunction,
                firstMidParam,
                secondMidParam,
                hexFunction,
                octFunction,
                errorFunction,
                strFunction,
                curDirFunction,
                datePropertyGet,
                timePropertyGet,
                inputbFunction,
                firstInputBParam,
                secondInputBParam,
                inputFunction,
                firstInputParam,
                secondInputParam
            });
        }
예제 #2
0
        private List <Declaration> GetBuiltInDeclarations()
        {
            var vbaDeclaration = new ProjectDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "VBA"), "VBA"),
                "VBA",
                true);

            var conversionModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Conversion"), "Conversion"),
                vbaDeclaration,
                "Conversion",
                true,
                new List <IAnnotation>(),
                new Attributes());

            var fileSystemModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "FileSystem"), "FileSystem"),
                vbaDeclaration,
                "FileSystem",
                true,
                new List <IAnnotation>(),
                new Attributes());

            var interactionModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Interaction"), "Interaction"),
                vbaDeclaration,
                "Interaction",
                true,
                new List <IAnnotation>(),
                new Attributes());

            var stringsModule = new ProceduralModuleDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "Strings"),
                vbaDeclaration,
                "Strings",
                true,
                new List <IAnnotation>(),
                new Attributes());

            var commandFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Interaction"), "_B_var_Command"),
                interactionModule,
                interactionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var environFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Interaction"), "_B_var_Environ"),
                interactionModule,
                interactionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var rtrimFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_RTrim"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var chrFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Chr"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var formatFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Format"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var firstFormatParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "Expression"),
                formatFunction,
                "Variant",
                null,
                null,
                false,
                true);

            var secondFormatParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "Format"),
                formatFunction,
                "Variant",
                null,
                null,
                true,
                true);

            var thirdFormatParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "FirstDayOfWeek"),
                formatFunction,
                "VbDayOfWeek",
                null,
                null,
                true,
                false);

            formatFunction.AddParameter(firstFormatParam);
            formatFunction.AddParameter(secondFormatParam);
            formatFunction.AddParameter(thirdFormatParam);

            var rightFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Right"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var firstRightParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "String"),
                rightFunction,
                "Variant",
                null,
                null,
                false,
                true);

            rightFunction.AddParameter(firstRightParam);

            var lcaseFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_LCase"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var leftbFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_LeftB"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var firstLeftBParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "String"),
                leftbFunction,
                "Variant",
                null,
                null,
                false,
                true);

            leftbFunction.AddParameter(firstLeftBParam);

            var chrwFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_ChrW"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var leftFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Left"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var firstLeftParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "String"),
                leftFunction,
                "Variant",
                null,
                null,
                false,
                true);

            leftFunction.AddParameter(firstLeftParam);

            var rightbFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_RightB"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var firstRightBParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "String"),
                rightbFunction,
                "Variant",
                null,
                null,
                false,
                true);

            rightbFunction.AddParameter(firstRightBParam);

            var midbFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_MidB"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var firstMidBParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "String"),
                midbFunction,
                "Variant",
                null,
                null,
                false,
                true);

            var secondMidBParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "Start"),
                midbFunction,
                "Long",
                null,
                null,
                false,
                false);

            midbFunction.AddParameter(firstMidBParam);
            midbFunction.AddParameter(secondMidBParam);

            var ucaseFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_UCase"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var trimFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Trim"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var ltrimFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_LTrim"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var midFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Mid"),
                stringsModule,
                stringsModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var firstMidParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "String"),
                midbFunction,
                "Variant",
                null,
                null,
                false,
                true);

            var secondMidParam = new ParameterDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "Start"),
                midbFunction,
                "Long",
                null,
                null,
                false,
                false);

            midFunction.AddParameter(firstMidParam);
            midFunction.AddParameter(secondMidParam);

            var hexFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Hex"),
                conversionModule,
                conversionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var octFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Oct"),
                conversionModule,
                conversionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var errorFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Error"),
                conversionModule,
                conversionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var strFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_Str"),
                conversionModule,
                conversionModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            var curDirFunction = new FunctionDeclaration(
                new QualifiedMemberName(new QualifiedModuleName("VBA", "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA7.1\\VBE7.DLL", "Strings"), "_B_var_CurDir"),
                fileSystemModule,
                fileSystemModule,
                "Variant",
                null,
                null,
                Accessibility.Global,
                null,
                Selection.Home,
                false,
                true,
                new List <IAnnotation>(),
                new Attributes());

            return(new List <Declaration>
            {
                vbaDeclaration,
                conversionModule,
                fileSystemModule,
                interactionModule,
                stringsModule,
                commandFunction,
                environFunction,
                rtrimFunction,
                chrFunction,
                formatFunction,
                firstFormatParam,
                secondFormatParam,
                thirdFormatParam,
                rightFunction,
                firstRightParam,
                lcaseFunction,
                leftbFunction,
                firstLeftBParam,
                chrwFunction,
                leftFunction,
                firstLeftParam,
                rightbFunction,
                firstRightBParam,
                midbFunction,
                firstMidBParam,
                secondMidBParam,
                ucaseFunction,
                trimFunction,
                ltrimFunction,
                midFunction,
                firstMidParam,
                secondMidParam,
                hexFunction,
                octFunction,
                errorFunction,
                strFunction,
                curDirFunction
            });
        }