Skip to content

FunctionCall: spec doesn't match actual #1508

Open
@rebcabin

Description

@rebcabin

The spec in ASR.asdl for FunctionCall states:

    | FunctionCall(symbol name, symbol? original_name, call_arg* args,
            ttype type, expr? value, expr? dt)

An example generated from tests/expr7.py does not match the spec. There is an extra element and symbols should be identifiers' (as with Issue #1492; they're not symbol`s from the point of view of my semi-automated Clojure spec processors), with my guesses for the actual meanings and with commentary about type mis-matches:

(FunctionCall
 1  ; <~~~~~~~ probably a stid (symbol-table-id) as with SubroutineCall
 test_pow_1  ; <~~~~~~~ should have type "identifier," not "symbol"
 ()  ; <~~~~~~~ probably "original_name," should be "identifier?," not "symbol?"
 [((IntegerConstant 1 (Integer 4 [])))  ; <~~~~~~~ call_arg* args; OK
  ((IntegerConstant 2 (Integer 4 [])))]
 (Integer 4 [])  ; <~~~~~~~ ttype; OK
 ()  ; <~~~~~~~ expr? value; OK
 ())  ; <~~~~~~~ expr? dt; OK

Metadata

Metadata

Assignees

No one assigned

    Labels

    asrASR related changesbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions