private common_method_node CreateInterfaceMethod(string name, int offset) { definition_node dn = null; if (members.TryGetValue(offset, out dn)) return dn as common_method_node; common_method_node cmn = new common_method_node(name,null,null); //members[offset] = cmn; AddMember(cmn, offset); int name_ref = br.ReadInt32(); cmn.is_final = br.ReadByte() == 1; cmn.newslot_awaited = br.ReadByte() == 1; ReadGenericFunctionInformation(cmn); //if (CanReadObject()) //{ // cmn.generic_params = ReadGenericParams(cun.namespaces[0]); // foreach (common_type_node par in cmn.generic_params) // { // par.generic_function_container = cmn; // ReadTypeParameterEliminations(par); // } //} if (br.ReadByte() == 1) //return_value_type { cmn.return_value_type = GetTypeReference(); if (br.ReadByte() == 1) { cmn.return_variable = GetLocalVariable(cmn); cmn.var_definition_nodes_list.AddElement(cmn.return_variable); } } int num_par = br.ReadInt32(); for (int i = 0; i < num_par; i++) cmn.parameters.AddElement(GetParameter(cmn)); cmn.cont_type = (common_type_node)GetTypeReference(br.ReadInt32()); if (name==null || true) cmn.SetName(GetStringInClass(cmn.cont_type, name_ref)); cmn.attributes.AddRange(GetAttributes()); cmn.is_constructor = br.ReadBoolean(); cmn.is_forward = br.ReadBoolean(); cmn.is_overload = br.ReadBoolean(); cmn.set_access_level((SemanticTree.field_access_level)br.ReadByte()); cmn.polymorphic_state = (SemanticTree.polymorphic_state)br.ReadByte(); if (cmn.is_constructor && cmn.polymorphic_state == SemanticTree.polymorphic_state.ps_static) cmn.cont_type.static_constr = cmn; cmn.num_of_default_variables = br.ReadInt32(); cmn.num_of_for_cycles = br.ReadInt32(); br.ReadBoolean(); int num_var = br.ReadInt32(); for (int i = 0; i < num_var; i++) { local_variable lv = GetLocalVariable(cmn); if (lv != cmn.return_variable) cmn.var_definition_nodes_list.AddElement(lv); } int num_consts = br.ReadInt32(); for (int i = 0; i < num_consts; i++) { function_constant_definition fcd = GetFunctionConstant(cmn); cmn.constants.AddElement(fcd); } int num_nest_funcs = br.ReadInt32(); for (int i = 0; i < num_nest_funcs; i++) cmn.functions_nodes_list.AddElement(GetNestedFunction()); //br.ReadInt32();//code; cmn.loc = ReadDebugInfo(); cmn.function_code = GetCode(br.ReadInt32()); cmn.cont_type.methods.AddElement(cmn); return cmn; }