Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(722)

Side by Side Diff: core/inspector/CodeGeneratorInspector.py

Issue 540533002: Roll IDL to Dartium37 (r181268) (Closed) Base URL: https://dart.googlecode.com/svn/third_party/WebCore
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « core/html/track/vtt/VTTRegionList.idl ('k') | core/inspector/CodeGeneratorInspectorStrings.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2011 Google Inc. All rights reserved. 2 # Copyright (c) 2011 Google Inc. All rights reserved.
3 # Copyright (c) 2012 Intel Corporation. All rights reserved. 3 # Copyright (c) 2012 Intel Corporation. All rights reserved.
4 # 4 #
5 # Redistribution and use in source and binary forms, with or without 5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions are 6 # modification, are permitted provided that the following conditions are
7 # met: 7 # met:
8 # 8 #
9 # * Redistributions of source code must retain the above copyright 9 # * Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer. 10 # notice, this list of conditions and the following disclaimer.
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 possible_abbreviation = "".join(output[array_pos:array_p os_end]) 149 possible_abbreviation = "".join(output[array_pos:array_p os_end])
150 if possible_abbreviation.upper() in Capitalizer.ABBREVIA TION: 150 if possible_abbreviation.upper() in Capitalizer.ABBREVIA TION:
151 output[array_pos:array_pos_end] = [possible_abbrevia tion] 151 output[array_pos:array_pos_end] = [possible_abbrevia tion]
152 else: 152 else:
153 array_pos = array_pos_end - 1 153 array_pos = array_pos_end - 1
154 array_pos += 1 154 array_pos += 1
155 return output 155 return output
156 156
157 ABBREVIATION = frozenset(["XHR", "DOM", "CSS"]) 157 ABBREVIATION = frozenset(["XHR", "DOM", "CSS"])
158 158
159 VALIDATOR_IFDEF_NAME = "!ASSERT_DISABLED" 159 VALIDATOR_IFDEF_NAME = "ASSERT_ENABLED"
160 160
161 161
162 class DomainNameFixes: 162 class DomainNameFixes:
163 @classmethod 163 @classmethod
164 def get_fixed_data(cls, domain_name): 164 def get_fixed_data(cls, domain_name):
165 field_name_res = Capitalizer.upper_camel_case_to_lower(domain_name) + "A gent" 165 field_name_res = Capitalizer.upper_camel_case_to_lower(domain_name) + "A gent"
166 166
167 class Res(object): 167 class Res(object):
168 agent_field_name = field_name_res 168 agent_field_name = field_name_res
169 169
(...skipping 1016 matching lines...) Expand 10 before | Expand all | Expand 10 after
1186 writer.newline(" * Synthetic constructor:\n" ) 1186 writer.newline(" * Synthetic constructor:\n" )
1187 writer.newline(" * RefPtr<%s> result = %s::c reate()" % (class_name, class_name)) 1187 writer.newline(" * RefPtr<%s> result = %s::c reate()" % (class_name, class_name))
1188 for prop_data in resolve_data.main_properties: 1188 for prop_data in resolve_data.main_properties:
1189 writer.append_multiline("\n * .set%s (...)" % Capitalizer.lower_camel_case_to_upper(prop_data.p["name"])) 1189 writer.append_multiline("\n * .set%s (...)" % Capitalizer.lower_camel_case_to_upper(prop_data.p["name"]))
1190 writer.append_multiline(";\n */\n") 1190 writer.append_multiline(";\n */\n")
1191 1191
1192 writer.newline_multiline(CodeGeneratorInspectorS trings.class_binding_builder_part_4) 1192 writer.newline_multiline(CodeGeneratorInspectorS trings.class_binding_builder_part_4)
1193 1193
1194 writer.newline(" typedef TypeBuilder::StructI temTraits ItemTraits;\n") 1194 writer.newline(" typedef TypeBuilder::StructI temTraits ItemTraits;\n")
1195 1195
1196 for prop_data in resolve_data.main_properties:
1197 prop_name = prop_data.p["name"]
1198 param_type_binding = prop_data.param_type_bi nding
1199 raw_type = param_type_binding.reduce_to_raw_ type()
1200 if isinstance(param_type_binding.get_type_mo del(), TypeModel.ValueType):
1201 writer.append_multiline("\n void %s" % prop_name)
1202 writer.append("(%s value)\n" % param_typ e_binding.get_type_model().get_command_return_pass_model().get_output_parameter_ type())
1203 writer.newline(" {\n")
1204 writer.newline(" JSONObjectBase:: get%s(\"%s\", value);\n"
1205 % (param_type_binding.reduce_to_raw_ type().get_setter_name(), prop_data.p["name"]))
1206 writer.newline(" }\n")
1207
1196 for prop_data in resolve_data.optional_propertie s: 1208 for prop_data in resolve_data.optional_propertie s:
1197 prop_name = prop_data.p["name"] 1209 prop_name = prop_data.p["name"]
1198 param_type_binding = prop_data.param_type_bi nding 1210 param_type_binding = prop_data.param_type_bi nding
1199 setter_name = "set%s" % Capitalizer.lower_ca mel_case_to_upper(prop_name) 1211 setter_name = "set%s" % Capitalizer.lower_ca mel_case_to_upper(prop_name)
1200 1212
1201 writer.append_multiline("\n void %s" % se tter_name) 1213 writer.append_multiline("\n void %s" % se tter_name)
1202 writer.append("(%s value)\n" % param_type_bi nding.get_type_model().get_input_param_type_text()) 1214 writer.append("(%s value)\n" % param_type_bi nding.get_type_model().get_input_param_type_text())
1203 writer.newline(" {\n") 1215 writer.newline(" {\n")
1204 writer.newline(" this->set%s(\"%s\", %s);\n" 1216 writer.newline(" this->set%s(\"%s\", %s);\n"
1205 % (param_type_binding.reduce_to_raw_type ().get_setter_name(), prop_data.p["name"], 1217 % (param_type_binding.reduce_to_raw_type ().get_setter_name(), prop_data.p["name"],
1206 format_setter_value_expression(param_ type_binding, "value"))) 1218 format_setter_value_expression(param_ type_binding, "value")))
1207 writer.newline(" }\n") 1219 writer.newline(" }\n")
1208 1220
1209
1210 if setter_name in INSPECTOR_OBJECT_SETTER_NA MES: 1221 if setter_name in INSPECTOR_OBJECT_SETTER_NA MES:
1211 writer.newline(" using JSONObjectBase ::%s;\n\n" % setter_name) 1222 writer.newline(" using JSONObjectBase ::%s;\n\n" % setter_name)
1212 1223
1213 if class_binding_cls.need_user_runtime_cast_: 1224 if class_binding_cls.need_user_runtime_cast_:
1214 writer.newline(" static PassRefPtr<%s> ru ntimeCast(PassRefPtr<JSONValue> value)\n" % class_name) 1225 writer.newline(" static PassRefPtr<%s> ru ntimeCast(PassRefPtr<JSONValue> value)\n" % class_name)
1215 writer.newline(" {\n") 1226 writer.newline(" {\n")
1216 writer.newline(" RefPtr<JSONObject> o bject;\n") 1227 writer.newline(" RefPtr<JSONObject> o bject;\n")
1217 writer.newline(" bool castRes = value ->asObject(&object);\n") 1228 writer.newline(" bool castRes = value ->asObject(&object);\n")
1218 writer.newline(" ASSERT_UNUSED(castRe s, castRes);\n") 1229 writer.newline(" ASSERT_UNUSED(castRe s, castRes);\n")
1219 writer.append("#if %s\n" % VALIDATOR_IFDEF_N AME) 1230 writer.append("#if %s\n" % VALIDATOR_IFDEF_N AME)
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after
1842 Generator.backend_agent_interface_list.append(" virtual ~%s() { }\n" % agent_interface_name) 1853 Generator.backend_agent_interface_list.append(" virtual ~%s() { }\n" % agent_interface_name)
1843 Generator.backend_agent_interface_list.append(" };\n\n") 1854 Generator.backend_agent_interface_list.append(" };\n\n")
1844 1855
1845 Generator.backend_constructor_init_list.append(" , m_%s(0)" % agent_field_name) 1856 Generator.backend_constructor_init_list.append(" , m_%s(0)" % agent_field_name)
1846 Generator.backend_virtual_setters_list.append(" virtual void regi sterAgent(%s* %s) = 0;" % (agent_interface_name, agent_field_name)) 1857 Generator.backend_virtual_setters_list.append(" virtual void regi sterAgent(%s* %s) = 0;" % (agent_interface_name, agent_field_name))
1847 Generator.backend_setters_list.append(" virtual void registerAgen t(%s* %s) { ASSERT(!m_%s); m_%s = %s; }" % (agent_interface_name, agent_field_na me, agent_field_name, agent_field_name, agent_field_name)) 1858 Generator.backend_setters_list.append(" virtual void registerAgen t(%s* %s) { ASSERT(!m_%s); m_%s = %s; }" % (agent_interface_name, agent_field_na me, agent_field_name, agent_field_name, agent_field_name))
1848 Generator.backend_field_list.append(" %s* m_%s;" % (agent_interfa ce_name, agent_field_name)) 1859 Generator.backend_field_list.append(" %s* m_%s;" % (agent_interfa ce_name, agent_field_name))
1849 1860
1850 @staticmethod 1861 @staticmethod
1851 def process_event(json_event, domain_name, frontend_method_declaration_lines ): 1862 def process_event(json_event, domain_name, frontend_method_declaration_lines ):
1863 if (("handlers" in json_event) and (not ("renderer" in json_event["handl ers"]))):
1864 return
1865
1852 event_name = json_event["name"] 1866 event_name = json_event["name"]
1853 1867
1854 ad_hoc_type_output = [] 1868 ad_hoc_type_output = []
1855 frontend_method_declaration_lines.append(ad_hoc_type_output) 1869 frontend_method_declaration_lines.append(ad_hoc_type_output)
1856 ad_hoc_type_writer = Writer(ad_hoc_type_output, " ") 1870 ad_hoc_type_writer = Writer(ad_hoc_type_output, " ")
1857 1871
1858 decl_parameter_list = [] 1872 decl_parameter_list = []
1859 1873
1860 json_parameters = json_event.get("parameters") 1874 json_parameters = json_event.get("parameters")
1861 Generator.generate_send_method(json_parameters, event_name, domain_name, ad_hoc_type_writer, 1875 Generator.generate_send_method(json_parameters, event_name, domain_name, ad_hoc_type_writer,
(...skipping 10 matching lines...) Expand all
1872 line_list.append(" RefPtr<JSONObject> paramsObject = JSONObject:: create();\n") 1886 line_list.append(" RefPtr<JSONObject> paramsObject = JSONObject:: create();\n")
1873 1887
1874 @staticmethod 1888 @staticmethod
1875 def append_epilog(line_list): 1889 def append_epilog(line_list):
1876 line_list.append(" jsonMessage->setObject(\"params\", paramsObjec t);\n") 1890 line_list.append(" jsonMessage->setObject(\"params\", paramsObjec t);\n")
1877 1891
1878 container_name = "paramsObject" 1892 container_name = "paramsObject"
1879 1893
1880 @staticmethod 1894 @staticmethod
1881 def process_command(json_command, domain_name, agent_field_name, agent_inter face_name): 1895 def process_command(json_command, domain_name, agent_field_name, agent_inter face_name):
1896 if (("handlers" in json_command) and (not ("renderer" in json_command["h andlers"]))):
1897 return
1898
1882 json_command_name = json_command["name"] 1899 json_command_name = json_command["name"]
1883 1900
1884 cmd_enum_name = "k%s_%sCmd" % (domain_name, json_command["name"]) 1901 cmd_enum_name = "k%s_%sCmd" % (domain_name, json_command["name"])
1885 1902
1886 Generator.method_name_enum_list.append(" %s," % cmd_enum_name) 1903 Generator.method_name_enum_list.append(" %s," % cmd_enum_name)
1887 Generator.method_handler_list.append(" &InspectorBackendDispa tcherImpl::%s_%s," % (domain_name, json_command_name)) 1904 Generator.method_handler_list.append(" &InspectorBackendDispa tcherImpl::%s_%s," % (domain_name, json_command_name))
1888 Generator.backend_method_declaration_list.append(" void %s_%s(long ca llId, JSONObject* requestMessageObject);" % (domain_name, json_command_name)) 1905 Generator.backend_method_declaration_list.append(" void %s_%s(long ca llId, JSONObject* requestMessageObject, JSONArray* protocolErrors);" % (domain_n ame, json_command_name))
1889 1906
1890 backend_agent_interface_list = [] if "redirect" in json_command else Gen erator.backend_agent_interface_list 1907 backend_agent_interface_list = [] if "redirect" in json_command else Gen erator.backend_agent_interface_list
1891 1908
1892 ad_hoc_type_output = [] 1909 ad_hoc_type_output = []
1893 backend_agent_interface_list.append(ad_hoc_type_output) 1910 backend_agent_interface_list.append(ad_hoc_type_output)
1894 ad_hoc_type_writer = Writer(ad_hoc_type_output, " ") 1911 ad_hoc_type_writer = Writer(ad_hoc_type_output, " ")
1895 1912
1896 backend_agent_interface_list.append(" virtual void %s(ErrorString *" % json_command_name) 1913 backend_agent_interface_list.append(" virtual void %s(ErrorString *" % json_command_name)
1897 1914
1898 method_in_code = "" 1915 method_in_code = ""
1899 method_out_code = "" 1916 method_out_code = ""
1900 agent_call_param_list = [] 1917 result_object_declaration = ""
1918 agent_call_param_list = ["&error"]
1919 agent_call_params_declaration_list = [" ErrorString error;"]
1920 send_response_call_params_list = ["error"]
1901 request_message_param = "" 1921 request_message_param = ""
1902 normal_response_cook_text = "" 1922 normal_response_cook_text = ""
1903 error_response_cook_text = ""
1904 error_type_binding = None 1923 error_type_binding = None
1905 if "error" in json_command: 1924 if "error" in json_command:
1906 json_error = json_command["error"] 1925 json_error = json_command["error"]
1907 error_type_binding = Generator.resolve_type_and_generate_ad_hoc(json _error, json_command_name + "Error", json_command_name, domain_name, ad_hoc_type _writer, agent_interface_name + "::") 1926 error_type_binding = Generator.resolve_type_and_generate_ad_hoc(json _error, json_command_name + "Error", json_command_name, domain_name, ad_hoc_type _writer, agent_interface_name + "::")
1908 error_type_model = error_type_binding.get_type_model().get_optional( ) 1927 error_type_model = error_type_binding.get_type_model().get_optional( )
1909 error_annotated_type = error_type_model.get_command_return_pass_mode l().get_output_parameter_type() 1928 error_annotated_type = error_type_model.get_command_return_pass_mode l().get_output_parameter_type()
1910 agent_call_param_list.append(", %serrorData" % error_type_model.get_ command_return_pass_model().get_output_argument_prefix()) 1929 agent_call_param_list.append("%serrorData" % error_type_model.get_co mmand_return_pass_model().get_output_argument_prefix())
1911 backend_agent_interface_list.append(", %s errorData" % error_annotat ed_type) 1930 backend_agent_interface_list.append(", %s errorData" % error_annotat ed_type)
1912 method_in_code += " %s errorData;\n" % error_type_model.get_comma nd_return_pass_model().get_return_var_type() 1931 method_in_code += " %s errorData;\n" % error_type_model.get_comma nd_return_pass_model().get_return_var_type()
1913 1932 send_response_call_params_list.append("errorData")
1914 setter_argument = error_type_model.get_command_return_pass_model().g et_output_to_raw_expression() % "errorData"
1915 if error_type_binding.get_setter_value_expression_pattern():
1916 setter_argument = error_type_binding.get_setter_value_expression _pattern() % setter_argument
1917 error_assigment_value = error_type_binding.reduce_to_raw_type().get_ constructor_pattern() % setter_argument
1918
1919 cook = " resultErrorData = %s;\n" % error_assigment_value
1920
1921 error_condition_pattern = error_type_model.get_command_return_pass_m odel().get_set_return_condition()
1922 cook = (" if (%s)\n " % (error_condition_pattern % "er rorData")) + cook
1923 error_response_cook_text = " if (error.length()) {\n" + cook + " }\n"
1924 1933
1925 if "parameters" in json_command: 1934 if "parameters" in json_command:
1926 json_params = json_command["parameters"] 1935 json_params = json_command["parameters"]
1927 request_message_param = " requestMessageObject" 1936 request_message_param = " requestMessageObject"
1928 1937
1929 if json_params: 1938 if json_params:
1930 method_in_code += Templates.param_container_access_code 1939 method_in_code += Templates.param_container_access_code
1931 1940
1932 for json_parameter in json_params: 1941 for json_parameter in json_params:
1933 json_param_name = json_parameter["name"] 1942 json_param_name = json_parameter["name"]
1934 param_raw_type = resolve_param_raw_type(json_parameter, domain_n ame) 1943 param_raw_type = resolve_param_raw_type(json_parameter, domain_n ame)
1935 1944
1936 getter_name = param_raw_type.get_getter_name() 1945 getter_name = param_raw_type.get_getter_name()
1937 1946
1938 optional = json_parameter.get("optional") 1947 optional = json_parameter.get("optional")
1939 1948
1940 non_optional_type_model = param_raw_type.get_raw_type_model() 1949 non_optional_type_model = param_raw_type.get_raw_type_model()
1941 if optional: 1950 if optional:
1942 type_model = non_optional_type_model.get_optional() 1951 type_model = non_optional_type_model.get_optional()
1943 else: 1952 else:
1944 type_model = non_optional_type_model 1953 type_model = non_optional_type_model
1945 1954
1946 if optional: 1955 if optional:
1947 code = (" bool %s_valueFound = false;\n" 1956 code = (" bool %s_valueFound = false;\n"
1948 " %s in_%s = get%s(paramsContainerPtr, \"%s\", &% s_valueFound, protocolErrorsPtr);\n" % 1957 " %s in_%s = get%s(paramsContainerPtr, \"%s\", &% s_valueFound, protocolErrors);\n" %
1949 (json_param_name, non_optional_type_model.get_command _return_pass_model().get_return_var_type(), json_param_name, getter_name, json_p aram_name, json_param_name)) 1958 (json_param_name, non_optional_type_model.get_command _return_pass_model().get_return_var_type(), json_param_name, getter_name, json_p aram_name, json_param_name))
1950 param = ", %s_valueFound ? &in_%s : 0" % (json_param_name, j son_param_name) 1959 param = "%s_valueFound ? &in_%s : 0" % (json_param_name, jso n_param_name)
1951 # FIXME: pass optional refptr-values as PassRefPtr 1960 # FIXME: pass optional refptr-values as PassRefPtr
1952 formal_param_type_pattern = "const %s*" 1961 formal_param_type_pattern = "const %s*"
1953 else: 1962 else:
1954 code = (" %s in_%s = get%s(paramsContainerPtr, \"%s\", 0, protocolErrorsPtr);\n" % 1963 code = (" %s in_%s = get%s(paramsContainerPtr, \"%s\", 0, protocolErrors);\n" %
1955 (non_optional_type_model.get_command_return_pass_mod el().get_return_var_type(), json_param_name, getter_name, json_param_name)) 1964 (non_optional_type_model.get_command_return_pass_mod el().get_return_var_type(), json_param_name, getter_name, json_param_name))
1956 param = ", in_%s" % json_param_name 1965 param = "in_%s" % json_param_name
1957 # FIXME: pass not-optional refptr-values as NonNullPassRefPt r 1966 # FIXME: pass not-optional refptr-values as NonNullPassRefPt r
1958 if param_raw_type.is_heavy_value(): 1967 if param_raw_type.is_heavy_value():
1959 formal_param_type_pattern = "const %s&" 1968 formal_param_type_pattern = "const %s&"
1960 else: 1969 else:
1961 formal_param_type_pattern = "%s" 1970 formal_param_type_pattern = "%s"
1962 1971
1963 method_in_code += code 1972 method_in_code += code
1964 agent_call_param_list.append(param) 1973 agent_call_param_list.append(param)
1965 backend_agent_interface_list.append(", %s in_%s" % (formal_param _type_pattern % non_optional_type_model.get_command_return_pass_model().get_retu rn_var_type(), json_param_name)) 1974 backend_agent_interface_list.append(", %s in_%s" % (formal_param _type_pattern % non_optional_type_model.get_command_return_pass_model().get_retu rn_var_type(), json_param_name))
1966 1975
(...skipping 24 matching lines...) Expand all
1991 2000
1992 assigment_value = error_type_model.get_event_setter_expression_p attern() % "errorData" 2001 assigment_value = error_type_model.get_event_setter_expression_p attern() % "errorData"
1993 assigment_value = error_type_binding.reduce_to_raw_type().get_co nstructor_pattern() % assigment_value 2002 assigment_value = error_type_binding.reduce_to_raw_type().get_co nstructor_pattern() % assigment_value
1994 2003
1995 Generator.backend_method_implementation_list.append(Templates.ca llback_failure_method.substitute(None, 2004 Generator.backend_method_implementation_list.append(Templates.ca llback_failure_method.substitute(None,
1996 agentName=agent_interface_name, 2005 agentName=agent_interface_name,
1997 callbackName=callback_name, 2006 callbackName=callback_name,
1998 parameter=annotated_type + " errorData", 2007 parameter=annotated_type + " errorData",
1999 argument=assigment_value)) 2008 argument=assigment_value))
2000 2009
2001
2002
2003 ad_hoc_type_output.append(callback_output) 2010 ad_hoc_type_output.append(callback_output)
2004 2011
2005 method_out_code += " RefPtr<" + agent_interface_name + "::" + cal lback_name + "> callback = adoptRef(new " + agent_interface_name + "::" + callba ck_name + "(this, callId));\n" 2012 method_out_code += " RefPtr<" + agent_interface_name + "::" + cal lback_name + "> callback = adoptRef(new " + agent_interface_name + "::" + callba ck_name + "(this, callId));\n"
2006 agent_call_param_list.append(", callback") 2013 agent_call_param_list.append("callback")
2007 normal_response_cook_text += " if (!error.length()) \n" 2014 normal_response_cook_text += " if (!error.length()) \n"
2008 normal_response_cook_text += " return;\n" 2015 normal_response_cook_text += " return;\n"
2009 normal_response_cook_text += " callback->disable();\n" 2016 normal_response_cook_text += " callback->disable();\n"
2010 backend_agent_interface_list.append(", PassRefPtr<%s> callback" % ca llback_name) 2017 backend_agent_interface_list.append(", PassRefPtr<%s> callback" % ca llback_name)
2011 else: 2018 else:
2012 if "returns" in json_command: 2019 if "returns" in json_command:
2013 method_out_code += "\n" 2020 method_out_code += "\n"
2021 agent_call_params_declaration_list.append(" RefPtr<JSONObject > result = JSONObject::create();")
2022 send_response_call_params_list.append("result")
2014 response_cook_list = [] 2023 response_cook_list = []
2015 for json_return in json_command["returns"]: 2024 for json_return in json_command["returns"]:
2016 2025
2017 json_return_name = json_return["name"] 2026 json_return_name = json_return["name"]
2018 2027
2019 optional = bool(json_return.get("optional")) 2028 optional = bool(json_return.get("optional"))
2020 2029
2021 return_type_binding = Generator.resolve_param_type_and_gener ate_ad_hoc(json_return, json_command_name, domain_name, ad_hoc_type_writer, agen t_interface_name + "::") 2030 return_type_binding = Generator.resolve_param_type_and_gener ate_ad_hoc(json_return, json_command_name, domain_name, ad_hoc_type_writer, agen t_interface_name + "::")
2022 2031
2023 raw_type = return_type_binding.reduce_to_raw_type() 2032 raw_type = return_type_binding.reduce_to_raw_type()
2024 setter_type = raw_type.get_setter_name() 2033 setter_type = raw_type.get_setter_name()
2025 initializer = raw_type.get_c_initializer() 2034 initializer = raw_type.get_c_initializer()
2026 2035
2027 type_model = return_type_binding.get_type_model() 2036 type_model = return_type_binding.get_type_model()
2028 if optional: 2037 if optional:
2029 type_model = type_model.get_optional() 2038 type_model = type_model.get_optional()
2030 2039
2031 code = " %s out_%s;\n" % (type_model.get_command_return_p ass_model().get_return_var_type(), json_return_name) 2040 code = " %s out_%s;\n" % (type_model.get_command_return_p ass_model().get_return_var_type(), json_return_name)
2032 param = ", %sout_%s" % (type_model.get_command_return_pass_m odel().get_output_argument_prefix(), json_return_name) 2041 param = "%sout_%s" % (type_model.get_command_return_pass_mod el().get_output_argument_prefix(), json_return_name)
2033 var_name = "out_%s" % json_return_name 2042 var_name = "out_%s" % json_return_name
2034 setter_argument = type_model.get_command_return_pass_model() .get_output_to_raw_expression() % var_name 2043 setter_argument = type_model.get_command_return_pass_model() .get_output_to_raw_expression() % var_name
2035 if return_type_binding.get_setter_value_expression_pattern() : 2044 if return_type_binding.get_setter_value_expression_pattern() :
2036 setter_argument = return_type_binding.get_setter_value_e xpression_pattern() % setter_argument 2045 setter_argument = return_type_binding.get_setter_value_e xpression_pattern() % setter_argument
2037 2046
2038 cook = " result->set%s(\"%s\", %s);\n" % (setter_ type, json_return_name, 2047 cook = " result->set%s(\"%s\", %s);\n" % (setter_type , json_return_name,
2039 setter_ argument) 2048 setter_ argument)
2040 2049
2041 set_condition_pattern = type_model.get_command_return_pass_m odel().get_set_return_condition() 2050 set_condition_pattern = type_model.get_command_return_pass_m odel().get_set_return_condition()
2042 if set_condition_pattern: 2051 if set_condition_pattern:
2043 cook = (" if (%s)\n " % (set_condition_pat tern % var_name)) + cook 2052 cook = (" if (%s)\n " % (set_condition_pattern % var_name)) + cook
2044 annotated_type = type_model.get_command_return_pass_model(). get_output_parameter_type() 2053 annotated_type = type_model.get_command_return_pass_model(). get_output_parameter_type()
2045 2054
2046 param_name = var_name 2055 param_name = var_name
2047 if optional: 2056 if optional:
2048 param_name = "opt_" + param_name 2057 param_name = "opt_" + param_name
2049 2058
2050 backend_agent_interface_list.append(", %s %s" % (annotated_t ype, param_name)) 2059 backend_agent_interface_list.append(", %s %s" % (annotated_t ype, param_name))
2051 response_cook_list.append(cook) 2060 response_cook_list.append(cook)
2052 2061
2053 method_out_code += code 2062 method_out_code += code
2054 agent_call_param_list.append(param) 2063 agent_call_param_list.append(param)
2055 2064
2056 normal_response_cook_text += "".join(response_cook_list) 2065 normal_response_cook_text += "".join(response_cook_list)
2057 2066
2058 if len(normal_response_cook_text) != 0: 2067 if len(normal_response_cook_text) != 0:
2059 normal_response_cook_text = " if (!error.length()) {\ n" + normal_response_cook_text + " }" 2068 normal_response_cook_text = " if (!error.length()) {\n" + normal_response_cook_text + " }"
2060 2069
2061 # Redirect to another agent's implementation. 2070 # Redirect to another agent's implementation.
2062 agent_field = "m_" + agent_field_name 2071 agent_field = "m_" + agent_field_name
2063 if "redirect" in json_command: 2072 if "redirect" in json_command:
2064 domain_fixes = DomainNameFixes.get_fixed_data(json_command.get("redi rect")) 2073 domain_fixes = DomainNameFixes.get_fixed_data(json_command.get("redi rect"))
2065 agent_field = "m_" + domain_fixes.agent_field_name 2074 agent_field = "m_" + domain_fixes.agent_field_name
2066 2075
2067 Generator.backend_method_implementation_list.append(Templates.backend_me thod.substitute(None, 2076 Generator.backend_method_implementation_list.append(Templates.backend_me thod.substitute(None,
2068 domainName=domain_name, methodName=json_command_name, 2077 domainName=domain_name, methodName=json_command_name,
2069 agentField=agent_field, 2078 agentField=agent_field,
2070 methodInCode=method_in_code, 2079 methodCode="".join([method_in_code, method_out_code]),
2071 methodOutCode=method_out_code, 2080 agentCallParamsDeclaration="\n".join(agent_call_params_declaration_l ist),
2072 agentCallParams="".join(agent_call_param_list), 2081 agentCallParams=", ".join(agent_call_param_list),
2073 requestMessageObject=request_message_param, 2082 requestMessageObject=request_message_param,
2074 responseCook=normal_response_cook_text, 2083 responseCook=normal_response_cook_text,
2075 errorCook=error_response_cook_text, 2084 sendResponseCallParams=", ".join(send_response_call_params_list),
2076 commandNameIndex=cmd_enum_name)) 2085 commandNameIndex=cmd_enum_name))
2077 declaration_command_name = "%s.%s\\0" % (domain_name, json_command_name) 2086 declaration_command_name = "%s.%s\\0" % (domain_name, json_command_name)
2078 Generator.backend_method_name_declaration_list.append(" \"%s\"" % dec laration_command_name) 2087 Generator.backend_method_name_declaration_list.append(" \"%s\"" % dec laration_command_name)
2079 Generator.backend_method_name_declaration_index_list.append(" %d," % Generator.backend_method_name_declaration_current_index) 2088 Generator.backend_method_name_declaration_index_list.append(" %d," % Generator.backend_method_name_declaration_current_index)
2080 Generator.backend_method_name_declaration_current_index += len(declarati on_command_name) - 1 2089 Generator.backend_method_name_declaration_current_index += len(declarati on_command_name) - 1
2081 2090
2082 backend_agent_interface_list.append(") = 0;\n") 2091 backend_agent_interface_list.append(") = 0;\n")
2083 2092
2084 class CallbackMethodStructTemplate: 2093 class CallbackMethodStructTemplate:
2085 @staticmethod 2094 @staticmethod
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
2346 validatorIfdefName=VALIDATOR_IFDEF_NAME)) 2355 validatorIfdefName=VALIDATOR_IFDEF_NAME))
2347 2356
2348 backend_h_file.close() 2357 backend_h_file.close()
2349 backend_cpp_file.close() 2358 backend_cpp_file.close()
2350 2359
2351 frontend_h_file.close() 2360 frontend_h_file.close()
2352 frontend_cpp_file.close() 2361 frontend_cpp_file.close()
2353 2362
2354 typebuilder_h_file.close() 2363 typebuilder_h_file.close()
2355 typebuilder_cpp_file.close() 2364 typebuilder_cpp_file.close()
OLDNEW
« no previous file with comments | « core/html/track/vtt/VTTRegionList.idl ('k') | core/inspector/CodeGeneratorInspectorStrings.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698