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" 9DYNAMIC_LEAF = "DynamicLeaf" 10 11 12class FrameClass(): 13 def __init__(self, cls): 14 self.cls = cls 15 16 17class Frame(FrameClass): 18 def __init__(self, cls, ty, leafness): 19 FrameClass.__init__(self, cls) 20 self.ty = ty 21 self.leafness = leafness 22 self.is_concrete = True 23 24 25class AbstractFrame(FrameClass): 26 def __init__(self, cls): 27 FrameClass.__init__(self, cls) 28 self.is_concrete = False 29