# Path: ifj2017/ide/settings.py
# EXPRESSION_SPLITTERS = set(" \n\t")


import re
import inspect
from typing import Optional, Tuple, List, Dict
from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty, pyqtSlot, QVariant
from PyQt5.QtQuick import QQuickItem
from ifj2017.ide.settings import EXPRESSION_SPLITTERS
# coding=utf-8





class ExpAnalyzer(QObject):
    targetChanged = pyqtSignal(QQuickItem)

    def __init__(self, parent: Optional[QObject] = None) -> None:
        super().__init__(parent)

        self._target = None

    def _get_content(self):
        return self._target.property("text")

    def _get_cursor(self):
        return self._target.property("cursorPosition")

    def _get_selection(self):
        return (self._target.property("selectionStart"),

# Path: ifj2017/ide/settings.py
# EXPRESSION_SPLITTERS = set(" \n\t")


# Path: ifj2017/ide/code/expression/exp_analyzer.py
import re
import inspect
from typing import Optional, Tuple, List, Dict
from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty, pyqtSlot, QVariant
from PyQt5.QtQuick import QQuickItem
from ifj2017.ide.settings import EXPRESSION_SPLITTERS

# coding=utf-8





class ExpAnalyzer(QObject):
    targetChanged = pyqtSignal(QQuickItem)

    def __init__(self, parent: Optional[QObject] = None) -> None:
        super().__init__(parent)

        self._target = None

    def _get_content(self):
        return self._target.property("text")

    def _get_cursor(self):
        return self._target.property("cursorPosition")

    def _get_selection(self):
        return (self._target.property("selectionStart"),

                self._target.property("selectionEnd"),