[Libreoffice-commits] core.git: formula/Library_for.mk formula/source include/formula

Kohei Yoshida kohei.yoshida at collabora.com
Tue Nov 25 20:58:53 PST 2014


 formula/Library_for.mk              |    1 
 formula/source/core/api/grammar.cxx |   86 ++++++++++++++++++++++++++++++++++++
 include/formula/grammar.hxx         |   60 +------------------------
 3 files changed, 91 insertions(+), 56 deletions(-)

New commits:
commit ee5010f04c214a15ad7b62f662b59b8ba028a902
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Tue Nov 25 23:45:37 2014 -0500

    Make some methods non-inline, and hide #include <tools/debug.hxx>.
    
    This header is also included all over sc.
    
    Change-Id: I4b8092c83a40bdeefd0781046125746ca8d35c9a

diff --git a/formula/Library_for.mk b/formula/Library_for.mk
index d2a6671..ad7da5a 100644
--- a/formula/Library_for.mk
+++ b/formula/Library_for.mk
@@ -41,6 +41,7 @@ $(eval $(call gb_Library_set_componentfile,for,formula/util/for))
 $(eval $(call gb_Library_add_exception_objects,for,\
     formula/source/core/api/FormulaCompiler \
     formula/source/core/api/FormulaOpCodeMapperObj \
+    formula/source/core/api/grammar \
     formula/source/core/api/services \
     formula/source/core/api/token \
     formula/source/core/api/vectortoken \
diff --git a/formula/source/core/api/grammar.cxx b/formula/source/core/api/grammar.cxx
new file mode 100644
index 0000000..f99bbdd
--- /dev/null
+++ b/formula/source/core/api/grammar.cxx
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include <formula/grammar.hxx>
+#include <tools/debug.hxx>
+
+namespace formula {
+
+FormulaGrammar::Grammar FormulaGrammar::mapAPItoGrammar( const bool bEnglish, const bool bXML )
+{
+    Grammar eGrammar;
+    if (bEnglish && bXML)
+        eGrammar = GRAM_PODF;
+    else if (bEnglish && !bXML)
+        eGrammar = GRAM_PODF_A1;
+    else if (!bEnglish && bXML)
+        eGrammar = GRAM_NATIVE_ODF;
+    else // (!bEnglish && !bXML)
+        eGrammar = GRAM_NATIVE;
+    return eGrammar;
+}
+
+bool FormulaGrammar::isSupported( const Grammar eGrammar )
+{
+    switch (eGrammar)
+    {
+        case GRAM_ODFF           :
+        case GRAM_PODF           :
+        case GRAM_ENGLISH        :
+        case GRAM_NATIVE         :
+        case GRAM_ODFF_UI        :
+        case GRAM_ODFF_A1        :
+        case GRAM_PODF_UI        :
+        case GRAM_PODF_A1        :
+        case GRAM_NATIVE_UI      :
+        case GRAM_NATIVE_ODF     :
+        case GRAM_NATIVE_XL_A1   :
+        case GRAM_NATIVE_XL_R1C1 :
+        case GRAM_ENGLISH_XL_A1  :
+        case GRAM_ENGLISH_XL_R1C1:
+        case GRAM_ENGLISH_XL_OOX :
+        case GRAM_OOXML          :
+            return true;
+        default:
+            return extractFormulaLanguage( eGrammar) == GRAM_EXTERNAL;
+    }
+}
+
+FormulaGrammar::Grammar FormulaGrammar::setEnglishBit( const Grammar eGrammar, const bool bEnglish )
+{
+    if (bEnglish)
+        return static_cast<Grammar>( eGrammar | kEnglishBit);
+    else
+        return static_cast<Grammar>( eGrammar & ~kEnglishBit);
+}
+
+FormulaGrammar::Grammar FormulaGrammar::mergeToGrammar( const Grammar eGrammar, const AddressConvention eConv )
+{
+    bool bEnglish = isEnglish( eGrammar);
+    Grammar eGram = static_cast<Grammar>(
+            extractFormulaLanguage( eGrammar) |
+            ((eConv + kConventionOffset) << kConventionShift));
+    eGram = setEnglishBit( eGram, bEnglish);
+    DBG_ASSERT( isSupported( eGram), "CompilerGrammarMap::mergeToGrammar: unsupported grammar");
+    return eGram;
+}
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/formula/grammar.hxx b/include/formula/grammar.hxx
index f74355e..8fe2823 100644
--- a/include/formula/grammar.hxx
+++ b/include/formula/grammar.hxx
@@ -22,7 +22,6 @@
 
 #include <com/sun/star/sheet/FormulaLanguage.hpp>
 #include <formula/formuladllapi.h>
-#include <tools/debug.hxx>
 
 namespace formula
 {
@@ -159,45 +158,9 @@ public:
 
     /** Compatibility helper for old "bCompileEnglish, bCompileXML" API calls
         to obtain the new grammar. */
-    static Grammar mapAPItoGrammar( const bool bEnglish, const bool bXML )
-    {
-        Grammar eGrammar;
-        if (bEnglish && bXML)
-            eGrammar = GRAM_PODF;
-        else if (bEnglish && !bXML)
-            eGrammar = GRAM_PODF_A1;
-        else if (!bEnglish && bXML)
-            eGrammar = GRAM_NATIVE_ODF;
-        else // (!bEnglish && !bXML)
-            eGrammar = GRAM_NATIVE;
-        return eGrammar;
-    }
+    static Grammar mapAPItoGrammar( const bool bEnglish, const bool bXML );
 
-    static bool isSupported( const Grammar eGrammar )
-    {
-        switch (eGrammar)
-        {
-            case GRAM_ODFF           :
-            case GRAM_PODF           :
-            case GRAM_ENGLISH        :
-            case GRAM_NATIVE         :
-            case GRAM_ODFF_UI        :
-            case GRAM_ODFF_A1        :
-            case GRAM_PODF_UI        :
-            case GRAM_PODF_A1        :
-            case GRAM_NATIVE_UI      :
-            case GRAM_NATIVE_ODF     :
-            case GRAM_NATIVE_XL_A1   :
-            case GRAM_NATIVE_XL_R1C1 :
-            case GRAM_ENGLISH_XL_A1  :
-            case GRAM_ENGLISH_XL_R1C1:
-            case GRAM_ENGLISH_XL_OOX :
-            case GRAM_OOXML          :
-                return true;
-            default:
-                return extractFormulaLanguage( eGrammar) == GRAM_EXTERNAL;
-        }
-    }
+    static bool isSupported( const Grammar eGrammar );
 
     static inline sal_Int32 extractFormulaLanguage( const Grammar eGrammar )
     {
@@ -211,24 +174,9 @@ public:
                 kConventionOffset);
     }
 
-    static inline Grammar setEnglishBit( const Grammar eGrammar, const bool bEnglish )
-    {
-        if (bEnglish)
-            return static_cast<Grammar>( eGrammar | kEnglishBit);
-        else
-            return static_cast<Grammar>( eGrammar & ~kEnglishBit);
-    }
+    static Grammar setEnglishBit( const Grammar eGrammar, const bool bEnglish );
 
-    static inline Grammar mergeToGrammar( const Grammar eGrammar, const AddressConvention eConv )
-    {
-        bool bEnglish = isEnglish( eGrammar);
-        Grammar eGram = static_cast<Grammar>(
-                extractFormulaLanguage( eGrammar) |
-                ((eConv + kConventionOffset) << kConventionShift));
-        eGram = setEnglishBit( eGram, bEnglish);
-        DBG_ASSERT( isSupported( eGram), "CompilerGrammarMap::mergeToGrammar: unsupported grammar");
-        return eGram;
-    }
+    static Grammar mergeToGrammar( const Grammar eGrammar, const AddressConvention eConv );
 
     /// If grammar is of ODF 1.1
     static inline bool isPODF( const Grammar eGrammar )


More information about the Libreoffice-commits mailing list