#define QMLDOCUMENT_H
#include <QtCore/QList>
-#include <QtCore/QMap>
#include <QtCore/QPair>
#include <QtCore/QSharedPointer>
#include <QtCore/QString>
public:
typedef QSharedPointer<Document> Ptr;
+ // used in a 3-bit bitfield
enum Language
{
QmlLanguage = 0,
JavaScriptLanguage = 1,
- UnknownLanguage = 2
+ JsonLanguage = 2,
+ UnknownLanguage = 3
};
protected:
~Document();
static Document::Ptr create(const QString &fileName, Language language);
+ static Language guessLanguageFromSuffix(const QString &fileName);
Document::Ptr ptr() const;
bool isQmlDocument() const;
- bool isJSDocument() const;
Language language() const;
AST::UiProgram *qmlProgram() const;
private:
bool parse_helper(int kind);
- static void extractPragmas(QString *source);
private:
QmlJS::Engine *_engine;
QString _source;
QWeakPointer<Document> _ptr;
int _editorRevision;
- Language _language : 2;
+ Language _language : 3;
bool _parsedCorrectly : 1;
// for documentFromSource