If one declares a sort as empty it cannot be autocompleted

Issue #796 resolved
Ingmar Dasseville created an issue

This seriously goes wrong in the following example, where autocompletion is practically impossible since we have no upper bounds on what P might be (procedurally interpreted)

vocabulary V {
    type t //extern vocabulary types
    P(t)
}

theory T : V {

}

procedure isP(a){
    print("hello")
    return false
}

structure S : V {
        t = {}
    P = procedure isP
}

----------- Main
include <mx>
procedure main() {

}

Comments (8)

  1. Bart Bogaerts

    Lijkt alsof dit komt door autocompletion op lege types

    • Dit voorbeeld is slecht! Het is logisch dat dit oneindig zal lopen of een error gooit. Er is immers niet gespecifieerd dat t leeg is! t kan eender wat zijn

    • Als je ook t={} aan de structuur toevoegt, dan loopt het nog steeds oneindig. Dit is een parsefout: t={} zou moeten betekenen dat t niet geautocomplete wordt! Volgens mij heb ik dat onlangs ergens zien gefixed worden. Weet niet of het al in de master zit of niet...

  2. Log in to comment