xref: /haiku/headers/private/debugger/source_language/SourceLanguage.h (revision 68ea01249e1e2088933cb12f9c28d4e5c5d1c9ef)
1 /*
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.
5  */
6 #ifndef SOURCE_LANGUAGE_H
7 #define SOURCE_LANGUAGE_H
8 
9 
10 #include <Referenceable.h>
11 
12 
13 class BString;
14 class ExpressionResult;
15 class SyntaxHighlighter;
16 class TeamTypeInformation;
17 class Type;
18 class ValueNode;
19 class ValueNodeManager;
20 
21 
22 class SourceLanguage : public BReferenceable {
23 public:
24 	virtual						~SourceLanguage();
25 
26 	virtual	const char*			Name() const = 0;
27 
28 	virtual	SyntaxHighlighter*	GetSyntaxHighlighter() const;
29 									// returns a reference,
30 									// may return NULL, if not available
31 
32 	virtual	status_t			EvaluateExpression(const BString& expression,
33 									ValueNodeManager* manager,
34 									TeamTypeInformation* info,
35 									ExpressionResult*& _output,
36 									ValueNode*& _neededNode);
37 };
38 
39 
40 #endif	// SOURCE_LANGUAGE_H
41