LibreOffice Module sc (master) 1
|
Public Types | |
typedef RefMap< sal_Int32, FunctionInfo > | OpCodeFuncMap |
typedef RefMap< OUString, FunctionInfo > | FuncNameMap |
typedef ::std::vector< FormulaOpCodeMapEntry > | OpCodeEntryVector |
Public Member Functions | |
OpCodeProviderImpl (const FunctionInfoVector &rFuncInfos, const Reference< XMultiServiceFactory > &rxModelFactory) | |
OOXML token mapping for formula parser service. More... | |
Public Attributes | |
OpCodeFuncMap | maOpCodeFuncs |
FuncNameMap | maExtProgFuncs |
Maps API function op-codes to function data. More... | |
OpCodeEntryVector | maParserMap |
Maps programmatical API function names to function data. More... | |
Public Attributes inherited from oox::xls::ApiOpCodes | |
sal_Int32 | OPCODE_UNKNOWN |
sal_Int32 | OPCODE_EXTERNAL |
Internal: function name unknown to mapper. More... | |
sal_Int32 | OPCODE_PUSH |
External function call (e.g. add-ins). More... | |
sal_Int32 | OPCODE_MISSING |
Op-code for common value operands. More... | |
sal_Int32 | OPCODE_SPACES |
Placeholder for a missing function parameter. More... | |
sal_Int32 | OPCODE_NAME |
Spaces between other formula tokens. More... | |
sal_Int32 | OPCODE_DBAREA |
Index of a defined name. More... | |
sal_Int32 | OPCODE_NLR |
Index of a database area. More... | |
sal_Int32 | OPCODE_DDE |
Natural language reference. More... | |
sal_Int32 | OPCODE_MACRO |
DDE link function. More... | |
sal_Int32 | OPCODE_BAD |
Macro function call. More... | |
sal_Int32 | OPCODE_NONAME |
Bad token (unknown name, formula error). More... | |
sal_Int32 | OPCODE_OPEN |
Function style #NAME? error. More... | |
sal_Int32 | OPCODE_CLOSE |
Opening parenthesis. More... | |
sal_Int32 | OPCODE_SEP |
Closing parenthesis. More... | |
sal_Int32 | OPCODE_ARRAY_OPEN |
Function parameter separator. More... | |
sal_Int32 | OPCODE_ARRAY_CLOSE |
Opening brace for constant arrays. More... | |
sal_Int32 | OPCODE_ARRAY_ROWSEP |
Closing brace for constant arrays. More... | |
sal_Int32 | OPCODE_ARRAY_COLSEP |
Row separator in constant arrays. More... | |
sal_Int32 | OPCODE_PLUS_SIGN |
Column separator in constant arrays. More... | |
sal_Int32 | OPCODE_MINUS_SIGN |
Unary plus sign. More... | |
sal_Int32 | OPCODE_PERCENT |
Unary minus sign. More... | |
sal_Int32 | OPCODE_ADD |
Percent sign. More... | |
sal_Int32 | OPCODE_SUB |
Addition operator. More... | |
sal_Int32 | OPCODE_MULT |
Subtraction operator. More... | |
sal_Int32 | OPCODE_DIV |
Multiplication operator. More... | |
sal_Int32 | OPCODE_POWER |
Division operator. More... | |
sal_Int32 | OPCODE_CONCAT |
Power operator. More... | |
sal_Int32 | OPCODE_EQUAL |
String concatenation operator. More... | |
sal_Int32 | OPCODE_NOT_EQUAL |
Compare equal operator. More... | |
sal_Int32 | OPCODE_LESS |
Compare not equal operator. More... | |
sal_Int32 | OPCODE_LESS_EQUAL |
Compare less operator. More... | |
sal_Int32 | OPCODE_GREATER |
Compare less or equal operator. More... | |
sal_Int32 | OPCODE_GREATER_EQUAL |
Compare greater operator. More... | |
sal_Int32 | OPCODE_INTERSECT |
Compare greater or equal operator. More... | |
sal_Int32 | OPCODE_LIST |
Range intersection operator. More... | |
sal_Int32 | OPCODE_RANGE |
Range list operator. More... | |
Private Types | |
typedef ::std::map< OUString, ApiToken > | ApiTokenMap |
typedef Sequence< FormulaOpCodeMapEntry > | OpCodeEntrySequence |
Private Member Functions | |
bool | fillFuncTokenMaps (ApiTokenMap &orIntFuncTokenMap, ApiTokenMap &orExtFuncTokenMap, OpCodeEntrySequence &orEntrySeq, const Reference< XFormulaOpCodeMapper > &rxMapper) const |
bool | initOpCode (sal_Int32 &ornOpCode, const ApiTokenMap &rTokenMap, const OUString &rOdfName, const OUString &rOoxName) |
bool | initOpCode (sal_Int32 &ornOpCode, const ApiTokenMap &rTokenMap, const char *pcOdfName, const char *pcOoxName) |
bool | initOpCode (sal_Int32 &ornOpCode, const ApiTokenMap &rTokenMap, sal_Unicode cOdfName, sal_Unicode cOoxName) |
bool | initFuncOpCode (FunctionInfo &orFuncInfo, const ApiTokenMap &rFuncTokenMap) |
bool | initFuncOpCodes (const ApiTokenMap &rIntFuncTokenMap, const ApiTokenMap &rExtFuncTokenMap, const FunctionInfoVector &rFuncInfos) |
Static Private Member Functions | |
static bool | fillEntrySeq (OpCodeEntrySequence &orEntrySeq, const Reference< XFormulaOpCodeMapper > &rxMapper, sal_Int32 nMapGroup) |
static bool | fillTokenMap (ApiTokenMap &orTokenMap, OpCodeEntrySequence &orEntrySeq, const Reference< XFormulaOpCodeMapper > &rxMapper, sal_Int32 nMapGroup) |
static bool | initOpCode (sal_Int32 &ornOpCode, const OpCodeEntrySequence &rEntrySeq, sal_Int32 nSpecialId) |
Definition at line 1120 of file formulabase.cxx.
|
private |
Definition at line 1135 of file formulabase.cxx.
typedef RefMap< OUString, FunctionInfo > oox::xls::OpCodeProviderImpl::FuncNameMap |
Definition at line 1123 of file formulabase.cxx.
|
private |
Definition at line 1136 of file formulabase.cxx.
typedef ::std::vector< FormulaOpCodeMapEntry > oox::xls::OpCodeProviderImpl::OpCodeEntryVector |
Definition at line 1124 of file formulabase.cxx.
typedef RefMap< sal_Int32, FunctionInfo > oox::xls::OpCodeProviderImpl::OpCodeFuncMap |
Definition at line 1122 of file formulabase.cxx.
|
explicit |
OOXML token mapping for formula parser service.
Definition at line 1151 of file formulabase.cxx.
References API_TOKEN_ARRAY_CLOSE, API_TOKEN_ARRAY_COLSEP, API_TOKEN_ARRAY_OPEN, aTokenMap, Exception, fillEntrySeq(), fillFuncTokenMaps(), fillTokenMap(), initFuncOpCodes(), initOpCode(), NAME, oox::xls::ApiOpCodes::OPCODE_ADD, oox::xls::ApiOpCodes::OPCODE_ARRAY_CLOSE, oox::xls::ApiOpCodes::OPCODE_ARRAY_COLSEP, oox::xls::ApiOpCodes::OPCODE_ARRAY_OPEN, oox::xls::ApiOpCodes::OPCODE_ARRAY_ROWSEP, oox::xls::ApiOpCodes::OPCODE_BAD, oox::xls::ApiOpCodes::OPCODE_CLOSE, oox::xls::ApiOpCodes::OPCODE_CONCAT, oox::xls::ApiOpCodes::OPCODE_DBAREA, oox::xls::ApiOpCodes::OPCODE_DDE, oox::xls::ApiOpCodes::OPCODE_DIV, oox::xls::ApiOpCodes::OPCODE_EQUAL, oox::xls::ApiOpCodes::OPCODE_EXTERNAL, oox::xls::ApiOpCodes::OPCODE_GREATER, oox::xls::ApiOpCodes::OPCODE_GREATER_EQUAL, oox::xls::ApiOpCodes::OPCODE_INTERSECT, oox::xls::ApiOpCodes::OPCODE_LESS, oox::xls::ApiOpCodes::OPCODE_LESS_EQUAL, oox::xls::ApiOpCodes::OPCODE_LIST, oox::xls::ApiOpCodes::OPCODE_MACRO, oox::xls::ApiOpCodes::OPCODE_MINUS_SIGN, oox::xls::ApiOpCodes::OPCODE_MISSING, oox::xls::ApiOpCodes::OPCODE_MULT, oox::xls::ApiOpCodes::OPCODE_NAME, oox::xls::ApiOpCodes::OPCODE_NLR, oox::xls::ApiOpCodes::OPCODE_NONAME, oox::xls::ApiOpCodes::OPCODE_NOT_EQUAL, oox::xls::ApiOpCodes::OPCODE_OPEN, oox::xls::ApiOpCodes::OPCODE_PERCENT, oox::xls::ApiOpCodes::OPCODE_PLUS_SIGN, oox::xls::ApiOpCodes::OPCODE_POWER, oox::xls::ApiOpCodes::OPCODE_PUSH, oox::xls::ApiOpCodes::OPCODE_RANGE, oox::xls::ApiOpCodes::OPCODE_SEP, oox::xls::ApiOpCodes::OPCODE_SPACES, oox::xls::ApiOpCodes::OPCODE_SUB, oox::xls::ApiOpCodes::OPCODE_UNKNOWN, and PUSH.
|
staticprivate |
Definition at line 1232 of file formulabase.cxx.
References Exception.
Referenced by fillFuncTokenMaps(), fillTokenMap(), and OpCodeProviderImpl().
|
private |
Definition at line 1258 of file formulabase.cxx.
References fillEntrySeq(), and oox::xls::ApiOpCodes::OPCODE_EXTERNAL.
Referenced by OpCodeProviderImpl().
|
staticprivate |
Definition at line 1246 of file formulabase.cxx.
References fillEntrySeq().
Referenced by OpCodeProviderImpl().
|
private |
Definition at line 1317 of file formulabase.cxx.
References oox::xls::BIFF_FUNC_EXTERNCALL, oox::xls::FunctionInfo::maExtProgName, oox::xls::FunctionInfo::maOdfFuncName, oox::xls::FunctionInfo::maOoxFuncName, maParserMap, oox::xls::FunctionInfo::mnApiOpCode, oox::xls::FunctionInfo::mnBiffFuncId, oox::xls::ApiOpCodes::OPCODE_BAD, oox::xls::ApiOpCodes::OPCODE_EXTERNAL, oox::xls::ApiOpCodes::OPCODE_NONAME, oox::xls::ApiOpCodes::OPCODE_UNKNOWN, OUStringToOString(), and SAL_WARN_IF.
Referenced by initFuncOpCodes().
|
private |
Definition at line 1379 of file formulabase.cxx.
References initFuncOpCode(), maExtProgFuncs, maOpCodeFuncs, oox::xls::ApiOpCodes::OPCODE_BAD, oox::xls::ApiOpCodes::OPCODE_EXTERNAL, and oox::xls::ApiOpCodes::OPCODE_NONAME.
Referenced by OpCodeProviderImpl().
|
private |
Definition at line 1303 of file formulabase.cxx.
References initOpCode().
|
private |
Definition at line 1282 of file formulabase.cxx.
References maParserMap, and OUStringToOString().
|
private |
Definition at line 1310 of file formulabase.cxx.
References initOpCode().
|
staticprivate |
Definition at line 1270 of file formulabase.cxx.
Referenced by initOpCode(), and OpCodeProviderImpl().
FuncNameMap oox::xls::OpCodeProviderImpl::maExtProgFuncs |
Maps API function op-codes to function data.
Definition at line 1127 of file formulabase.cxx.
Referenced by initFuncOpCodes().
OpCodeFuncMap oox::xls::OpCodeProviderImpl::maOpCodeFuncs |
Definition at line 1126 of file formulabase.cxx.
Referenced by initFuncOpCodes().
OpCodeEntryVector oox::xls::OpCodeProviderImpl::maParserMap |
Maps programmatical API function names to function data.
Definition at line 1128 of file formulabase.cxx.
Referenced by initFuncOpCode(), and initOpCode().