def generate_members(self): guards = set([object.annotations.get('conditional') for object in self.internals if 'conditional' in object.annotations]) lines = [BuiltinsGenerator.wrap_with_guard(" || ".join(guards), " JSC::VM& m_vm;")] for object in self.internals: member = " %s %s;" % (self.member_type(object), self.member_name(object)) lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), member)) return '\n'.join(lines)
def generate_constructor(self): guards = set([object.annotations.get('conditional') for object in self.internals if 'conditional' in object.annotations]) lines = ["JSBuiltinInternalFunctions::JSBuiltinInternalFunctions(JSC::VM& vm)", BuiltinsGenerator.wrap_with_guard(" || ".join(guards), " : m_vm(vm)")] for object in self.internals: initializer = " , %s(m_vm)" % self.member_name(object) lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), initializer)) lines.append("{") lines.append(" UNUSED_PARAM(vm);") lines.append("}\n") return '\n'.join(lines)
def generate_constructor(self): lines = [" explicit JSBuiltinFunctions(JSC::VM& vm)", " : m_vm(vm)"] for object in self.model().objects: member_init = " , %s(&m_vm)" % self.member_name(object) lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), member_init)) lines.append(" {") for object in self.model().objects: if not 'internal' in object.annotations: continue internal_export_names = " %s.exportNames();" % self.member_name(object) lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), internal_export_names)) lines.append(" }\n") return '\n'.join(lines)
def generate_initialize_method(self): lines = ["void JSBuiltinInternalFunctions::initialize(JSDOMGlobalObject& globalObject)", "{", " UNUSED_PARAM(globalObject);"] for object in self.internals: init = " %s.init(globalObject);" % self.member_name(object) lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), init)) lines.append("") guards = set([object.annotations.get('conditional') for object in self.internals if 'conditional' in object.annotations]) lines.append(BuiltinsGenerator.wrap_with_guard(" || ".join(guards), self._generate_initialize_static_globals())) lines.append("}") return '\n'.join(lines)
def generate_accessors(self): lines = [] for object in self.internals: accessor = " %s& %s() { return %s; }" % (self.member_type(object), self.accessor_name(object), self.member_name(object)) lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), accessor)) lines.append("") return '\n'.join(lines)
def generate_accessors(self): lines = [] for object in self.model().objects: accessor = " %s& %s() { return %s; }" % (self.member_type(object), self.accessor_name(object), self.member_name(object)) lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), accessor)) lines.append("") return '\n'.join(lines)
def generate_members(self): guards = set([ object.annotations.get('conditional') for object in self.internals if 'conditional' in object.annotations ]) lines = [ BuiltinsGenerator.wrap_with_guard(" || ".join(guards), " JSC::VM& m_vm;") ] for object in self.internals: member = " %s %s;" % (self.member_type(object), self.member_name(object)) lines.append( BuiltinsGenerator.wrap_with_guard( object.annotations.get('conditional'), member)) return '\n'.join(lines)
def _generate_initialize_static_globals(self): lines = [" JSVMClientData& clientData = *static_cast<JSVMClientData*>(m_vm.clientData);", " JSDOMGlobalObject::GlobalPropertyInfo staticGlobals[] = {"] for object in self.internals: lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), self.property_macro(object))) lines.append(" };") lines.append(" globalObject.addStaticGlobals(staticGlobals, WTF_ARRAY_LENGTH(staticGlobals));") lines.append(" UNUSED_PARAM(clientData);") return '\n'.join(lines)
def generate_visit_method(self): lines = ["void JSBuiltinInternalFunctions::visit(JSC::SlotVisitor& visitor)", "{"] for object in self.internals: visit = " %s.visit(visitor);" % self.member_name(object) lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), visit)) lines.append(" UNUSED_PARAM(visitor);") lines.append("}\n") return '\n'.join(lines)
def generate_members(self): lines = [" JSC::VM& m_vm;"] for object in self.model().objects: member = " %s %s;" % (self.member_type(object), self.member_name(object)) lines.append( BuiltinsGenerator.wrap_with_guard( object.annotations.get('conditional'), member)) return '\n'.join(lines)
def generate_constructor(self): guards = set([ object.annotations.get('conditional') for object in self.internals if 'conditional' in object.annotations ]) lines = [ "JSBuiltinInternalFunctions::JSBuiltinInternalFunctions(JSC::VM& vm)", BuiltinsGenerator.wrap_with_guard(" || ".join(guards), " : m_vm(vm)") ] for object in self.internals: initializer = " , %s(m_vm)" % self.member_name(object) lines.append( BuiltinsGenerator.wrap_with_guard( object.annotations.get('conditional'), initializer)) lines.append("{") lines.append(" UNUSED_PARAM(vm);") lines.append("}\n") return '\n'.join(lines)
def generate_constructor(self): lines = [ "JSBuiltinInternalFunctions::JSBuiltinInternalFunctions(JSC::VM& vm)", " : m_vm(vm)" ] for object in self.internals: initializer = " , %s(m_vm)" % self.member_name(object) lines.append( BuiltinsGenerator.wrap_with_guard( object.annotations.get('conditional'), initializer)) lines.append("{\n}\n") return '\n'.join(lines)
def generate_methods(self): lines = [ "void JSBuiltinInternalFunctions::visit(JSC::SlotVisitor& visitor)", "{" ] for object in self.internals: visit = " %s.visit(visitor);" % self.member_name(object) lines.append( BuiltinsGenerator.wrap_with_guard( object.annotations.get('conditional'), visit)) lines.append(" UNUSED_PARAM(visitor);\n}") lines.append( "void JSBuiltinInternalFunctions::initialize(JSDOMGlobalObject& globalObject)" ) lines.append("{") for object in self.internals: init = " %s.init(globalObject);" % self.member_name(object) lines.append( BuiltinsGenerator.wrap_with_guard( object.annotations.get('conditional'), init)) lines.append( " JSVMClientData& clientData = *static_cast<JSVMClientData*>(m_vm.clientData);" ) lines.append( " JSDOMGlobalObject::GlobalPropertyInfo staticGlobals[] = {") for object in self.internals: lines.append( BuiltinsGenerator.wrap_with_guard( object.annotations.get('conditional'), self.property_macro(object))) lines.append(" };") lines.append( " globalObject.addStaticGlobals(staticGlobals, WTF_ARRAY_LENGTH(staticGlobals));" ) lines.append(" UNUSED_PARAM(clientData);") lines.append("}") return '\n'.join(lines)
def generate_members(self): lines = [" JSC::VM& m_vm;"] for object in self.model().objects: member = " %s %s;" % (self.member_type(object), self.member_name(object)) lines.append(BuiltinsGenerator.wrap_with_guard(object.annotations.get('conditional'), member)) return '\n'.join(lines)