@@ -639,7 +639,7 @@ Various kinds of syntax can have *annotations* applied to them. Annotations are
639
639
| "override"
640
640
| "query"
641
641
642
- argsAnnotation ::= "pragma" "[" ("inline" | "noinline" | "nomagic" | "noopt") "]"
642
+ argsAnnotation ::= "pragma" "[" ("inline" | "noinline" | "nomagic" | "noopt" | "assume_small_delta" ) "]"
643
643
| "language" "[" "monotonicAggregates" "]"
644
644
| "bindingset" "[" (variable ( "," variable)*)? "]"
645
645
@@ -687,17 +687,19 @@ Parameterized annotations take some additional arguments.
687
687
688
688
The parameterized annotation ``pragma `` supplies compiler pragmas, and may be applied in various contexts depending on the pragma in question.
689
689
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
+ +---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
701
703
702
704
The 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.
703
705
@@ -2048,7 +2050,7 @@ The complete grammar for QL is as follows:
2048
2050
| "override"
2049
2051
| "query"
2050
2052
2051
- argsAnnotation ::= "pragma" "[" ("noinline" | "nomagic" | "noopt") "]"
2053
+ argsAnnotation ::= "pragma" "[" ("inline" | " noinline" | "nomagic" | "noopt" | "assume_small_delta ") "]"
2052
2054
| "language" "[" "monotonicAggregates" "]"
2053
2055
| "bindingset" "[" (variable ( "," variable)*)? "]"
2054
2056
0 commit comments