Kaydet (Commit) ee5010f0 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Make some methods non-inline, and hide #include <tools/debug.hxx>.

This header is also included all over sc.

Change-Id: I4b8092c83a40bdeefd0781046125746ca8d35c9a
üst 57fbefe7
......@@ -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 \
......
/* -*- 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: */
......@@ -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 )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment