@@ -639,7 +639,7 @@ Various kinds of syntax can have *annotations* applied to them. Annotations are
639639 | "override"
640640 | "query"
641641
642- argsAnnotation ::= "pragma" "[" ("inline" | "noinline" | "nomagic" | "noopt") "]"
642+ argsAnnotation ::= "pragma" "[" ("inline" | "noinline" | "nomagic" | "noopt" | "assume_small_delta" ) "]"
643643 | "language" "[" "monotonicAggregates" "]"
644644 | "bindingset" "[" (variable ( "," variable)*)? "]"
645645
@@ -687,17 +687,19 @@ Parameterized annotations take some additional arguments.
687687
688688The parameterized annotation ``pragma `` supplies compiler pragmas, and may be applied in various contexts depending on the pragma in question.
689689
690- +--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
691- | Pragma | Classes | Characters | Member predicates | Non-member predicates | Imports | Fields | Modules | Aliases |
692- +==============+=========+============+===================+=======================+=========+========+=========+=========+
693- | ``inline `` | | yes | yes | yes | | | | |
694- +--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
695- | ``noinline `` | | yes | yes | yes | | | | |
696- +--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
697- | ``nomagic `` | | yes | yes | yes | | | | |
698- +--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
699- | ``noopt `` | | yes | yes | yes | | | | |
700- +--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
690+ +---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
691+ | Pragma | Classes | Characters | Member predicates | Non-member predicates | Imports | Fields | Modules | Aliases |
692+ +===========================+=========+============+===================+=======================+=========+========+=========+=========+
693+ | ``inline `` | | yes | yes | yes | | | | |
694+ +---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
695+ | ``noinline `` | | yes | yes | yes | | | | |
696+ +---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
697+ | ``nomagic `` | | yes | yes | yes | | | | |
698+ +---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
699+ | ``noopt `` | | yes | yes | yes | | | | |
700+ +---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
701+ | ``assume_small_delta `` | | yes | yes | yes | | | | |
702+ +---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
701703
702704The parameterized annotation ``language `` supplies language pragmas which change the behavior of the language. Language pragmas apply at the scope level, and are inherited by nested scopes.
703705
@@ -2048,7 +2050,7 @@ The complete grammar for QL is as follows:
20482050 | "override"
20492051 | "query"
20502052
2051- argsAnnotation ::= "pragma" "[" ("noinline" | "nomagic" | "noopt") "]"
2053+ argsAnnotation ::= "pragma" "[" ("inline" | " noinline" | "nomagic" | "noopt" | "assume_small_delta ") "]"
20522054 | "language" "[" "monotonicAggregates" "]"
20532055 | "bindingset" "[" (variable ( "," variable)*)? "]"
20542056
0 commit comments