Commit 68421a13 authored by Stefan Behnel's avatar Stefan Behnel

support Ellipsis as compile time constant

parent 0770b175
...@@ -693,6 +693,8 @@ def wrap_compile_time_constant(pos, value): ...@@ -693,6 +693,8 @@ def wrap_compile_time_constant(pos, value):
rep = repr(value) rep = repr(value)
if value is None: if value is None:
return ExprNodes.NoneNode(pos) return ExprNodes.NoneNode(pos)
elif value is Ellipsis:
return ExprNodes.EllipsisNode(pos)
elif isinstance(value, bool): elif isinstance(value, bool):
return ExprNodes.BoolNode(pos, value=value) return ExprNodes.BoolNode(pos, value=value)
elif isinstance(value, int): elif isinstance(value, int):
......
...@@ -29,8 +29,10 @@ DEF TRUE = TRUE_FALSE[0] ...@@ -29,8 +29,10 @@ DEF TRUE = TRUE_FALSE[0]
DEF FALSE = TRUE_FALSE[1] DEF FALSE = TRUE_FALSE[1]
DEF INT_TUPLE1 = TUPLE[:2] DEF INT_TUPLE1 = TUPLE[:2]
DEF INT_TUPLE2 = TUPLE[1:4:2] DEF INT_TUPLE2 = TUPLE[1:4:2]
DEF ELLIPSIS = ...
DEF EXPRESSION = int(float(2*2)) + int(str(2)) + int(max(1,2,3)) + sum([TWO, FIVE]) DEF EXPRESSION = int(float(2*2)) + int(str(2)) + int(max(1,2,3)) + sum([TWO, FIVE])
def c(): def c():
""" """
>>> c() >>> c()
...@@ -148,6 +150,13 @@ def false(): ...@@ -148,6 +150,13 @@ def false():
cdef bint false = FALSE cdef bint false = FALSE
return false return false
def ellipsis():
"""
>>> ellipsis()
Ellipsis
"""
return ELLIPSIS
@cython.test_assert_path_exists('//IntNode') @cython.test_assert_path_exists('//IntNode')
@cython.test_fail_if_path_exists('//AddNode') @cython.test_fail_if_path_exists('//AddNode')
def expression(): def expression():
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment