2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Copyright 2014, Rene Gollent, rene@gollent.com.
4 * Distributed under the terms of the MIT License.
6 #ifndef SOURCE_LANGUAGE_H
7 #define SOURCE_LANGUAGE_H
10 #include <Referenceable.h>
14 class ExpressionResult
;
15 class SyntaxHighlighter
;
16 class TeamTypeInformation
;
19 class ValueNodeManager
;
22 class SourceLanguage
: public BReferenceable
{
24 virtual ~SourceLanguage();
26 virtual const char* Name() const = 0;
28 virtual SyntaxHighlighter
* GetSyntaxHighlighter() const;
29 // returns a reference,
30 // may return NULL, if not available
32 virtual status_t
EvaluateExpression(const BString
& expression
,
33 ValueNodeManager
* manager
,
34 TeamTypeInformation
* info
,
35 ExpressionResult
*& _output
,
36 ValueNode
*& _neededNode
);
40 #endif // SOURCE_LANGUAGE_H