pureqml / qmlcore

QML to Javascript/HTML5 translator. Ready for Mobile, Desktop and SmartTV platforms.
MIT License
331 stars 41 forks source link

Calling Date.now() to initialize property leads to a build error #230

Closed IvanBelyakoff closed 2 years ago

IvanBelyakoff commented 2 years ago

property int currentDate: Date.now();

Error stacktrace:

parsing src/Components/TopBar.qml ... src.Components.TopBar
src/Components/TopBar.qml: error: 'NoneType' object has no attribute 'term'
error: 'NoneType' object has no attribute 'term'
Traceback (most recent call last):
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/__init__.py", line 55, in read
    raise Exception("invalid hash")
Exception: invalid hash

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./qmlcore/build", line 467, in <module>
    build(root, platform, apps, app, manifest)
  File "./qmlcore/build", line 348, in build
    compile_qml(target, root, project_dirs, manifest, app, **kw)
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/__init__.py", line 319, in compile_qml
    c.generate()
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/__init__.py", line 207, in generate
    self.process_files(None, generator)
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/__init__.py", line 164, in process_files
    promise = self.process_file(pool, generator, package, dirpath, filename)
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/__init__.py", line 96, in process_file
    tree, data = parse_qml_file(self.cache, com, path)
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/__init__.py", line 77, in parse_qml_file
    return cache.read(com, path)
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/__init__.py", line 61, in read
    tree = compiler.grammar2.parse(data)
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/grammar2.py", line 744, in parse
    return parser.parse()
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/grammar2.py", line 733, in parse
    r = [self.__read_comp()]
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/grammar2.py", line 726, in __read_comp
    children.append(self.__read_scope_decl())
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/grammar2.py", line 692, in __read_scope_decl
    return self.__read_property()
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/grammar2.py", line 578, in __read_property
    def_value = self.__read_expression()
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/grammar2.py", line 538, in __read_expression
    value = infix_parser.parse(self)
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/grammar2.py", line 208, in parse
    return self.expression(state)
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/grammar2.py", line 200, in expression
    left = t.led(state, left)
  File "/home/blade/work/software/pureqml_test/qmlcore/compiler/grammar2.py", line 277, in led
    if next.term != ')':
AttributeError: 'NoneType' object has no attribute 'term'