Remove readable streams from webidl/codegen (#34835)

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
This commit is contained in:
Taym Haddadi 2025-01-04 13:40:38 +01:00 committed by GitHub
parent 5b6c75e358
commit fd39d0d658
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 6 additions and 241 deletions

View file

@ -2667,9 +2667,6 @@ class IDLType(IDLObject):
def isRecord(self):
return False
def isReadableStream(self):
return False
def isArrayBuffer(self):
return False
@ -2698,7 +2695,7 @@ class IDLType(IDLObject):
def isSpiderMonkeyInterface(self):
"""Returns a boolean indicating whether this type is an 'interface'
type that is implemented in SpiderMonkey."""
return self.isInterface() and (self.isBufferSource() or self.isReadableStream())
return self.isInterface() and self.isBufferSource()
def isAny(self):
return self.tag() == IDLType.Tags.any
@ -2920,9 +2917,6 @@ class IDLNullableType(IDLParametrizedType):
def isRecord(self):
return self.inner.isRecord()
def isReadableStream(self):
return self.inner.isReadableStream()
def isArrayBuffer(self):
return self.inner.isArrayBuffer()
@ -3449,9 +3443,6 @@ class IDLTypedefType(IDLType):
def isRecord(self):
return self.inner.isRecord()
def isReadableStream(self):
return self.inner.isReadableStream()
def isDictionary(self):
return self.inner.isDictionary()
@ -3828,7 +3819,6 @@ class IDLBuiltinType(IDLType):
"Uint32Array",
"Float32Array",
"Float64Array",
"ReadableStream",
)
TagLookup = {
@ -3864,7 +3854,6 @@ class IDLBuiltinType(IDLType):
Types.Uint32Array: IDLType.Tags.uint32array,
Types.Float32Array: IDLType.Tags.float32array,
Types.Float64Array: IDLType.Tags.float64array,
Types.ReadableStream: IDLType.Tags.interface,
}
PrettyNames = {
@ -3900,7 +3889,6 @@ class IDLBuiltinType(IDLType):
Types.Uint32Array: "Uint32Array",
Types.Float32Array: "Float32Array",
Types.Float64Array: "Float64Array",
Types.ReadableStream: "ReadableStream",
}
__slots__ = (
@ -4072,19 +4060,11 @@ class IDLBuiltinType(IDLType):
and self._typeTag <= IDLBuiltinType.Types.Float64Array
)
def isReadableStream(self):
return self._typeTag == IDLBuiltinType.Types.ReadableStream
def isInterface(self):
# TypedArray things are interface types per the TypedArray spec,
# but we handle them as builtins because SpiderMonkey implements
# all of it internally.
return (
self.isArrayBuffer()
or self.isArrayBufferView()
or self.isTypedArray()
or self.isReadableStream()
)
return self.isArrayBuffer() or self.isArrayBufferView() or self.isTypedArray()
def isNonCallbackInterface(self):
# All the interfaces we can be are non-callback
@ -4178,7 +4158,6 @@ class IDLBuiltinType(IDLType):
# ArrayBuffer is distinguishable from everything
# that's not an ArrayBuffer or a callback interface
(self.isArrayBuffer() and not other.isArrayBuffer())
or (self.isReadableStream() and not other.isReadableStream())
or
# ArrayBufferView is distinguishable from everything
# that's not an ArrayBufferView or typed array.
@ -4385,11 +4364,6 @@ BuiltinTypes = {
"Float64Array",
IDLBuiltinType.Types.Float64Array,
),
IDLBuiltinType.Types.ReadableStream: IDLBuiltinType(
BuiltinLocation("<builtin type>"),
"ReadableStream",
IDLBuiltinType.Types.ReadableStream,
),
}
@ -7272,9 +7246,6 @@ class Tokenizer(object):
def t_IDENTIFIER(self, t):
r"[_-]?[A-Za-z][0-9A-Z_a-z-]*"
t.type = self.keywords.get(t.value, "IDENTIFIER")
# If Builtin readable streams are disabled, mark ReadableStream as an identifier.
if t.type == "READABLESTREAM" and not self._use_builtin_readable_streams:
t.type = "IDENTIFIER"
return t
def t_STRING(self, t):
@ -7367,7 +7338,6 @@ class Tokenizer(object):
"setlike": "SETLIKE",
"iterable": "ITERABLE",
"namespace": "NAMESPACE",
"ReadableStream": "READABLESTREAM",
"constructor": "CONSTRUCTOR",
"symbol": "SYMBOL",
"async": "ASYNC",
@ -7388,8 +7358,7 @@ class Tokenizer(object):
],
)
def __init__(self, outputdir, lexer=None, use_builtin_readable_streams=True):
self._use_builtin_readable_streams = use_builtin_readable_streams
def __init__(self, outputdir, lexer=None):
if lexer:
self.lexer = lexer
else:
@ -8878,7 +8847,6 @@ class Parser(Tokenizer):
"""
DistinguishableType : PrimitiveType Null
| ARRAYBUFFER Null
| READABLESTREAM Null
| OBJECT Null
| UNDEFINED Null
"""
@ -8886,8 +8854,6 @@ class Parser(Tokenizer):
type = BuiltinTypes[IDLBuiltinType.Types.object]
elif p[1] == "ArrayBuffer":
type = BuiltinTypes[IDLBuiltinType.Types.ArrayBuffer]
elif p[1] == "ReadableStream":
type = BuiltinTypes[IDLBuiltinType.Types.ReadableStream]
elif p[1] == "undefined":
type = BuiltinTypes[IDLBuiltinType.Types.undefined]
else:
@ -9229,8 +9195,8 @@ class Parser(Tokenizer):
[Location(self.lexer, p.lineno, p.lexpos, self._filename)],
)
def __init__(self, outputdir="", lexer=None, use_builtin_readable_stream=True):
Tokenizer.__init__(self, outputdir, lexer, use_builtin_readable_stream)
def __init__(self, outputdir="", lexer=None):
Tokenizer.__init__(self, outputdir, lexer)
logger = SqueakyCleanLogger()
try: