1# This Source Code Form is subject to the terms of the Mozilla Public
2# License, v. 2.0. If a copy of the MPL was not distributed with this
3# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5
6# Leaf constants to pass to Frame's leafness argument.
7LEAF = "Leaf"
8NOT_LEAF = "NotLeaf"
9
10
11class FrameClass:
12    def __init__(self, cls):
13        self.cls = cls
14
15
16class Frame(FrameClass):
17    def __init__(self, cls, ty, leafness):
18        FrameClass.__init__(self, cls)
19        self.ty = ty
20        self.leafness = leafness
21        self.is_concrete = True
22
23
24class AbstractFrame(FrameClass):
25    def __init__(self, cls):
26        FrameClass.__init__(self, cls)
27        self.is_concrete = False
28