Обновлен генератор, добавлен метод RemoveAll для списков
This commit is contained in:
parent
cdf84ad46e
commit
74b2827e4c
Binary file not shown.
|
|
@ -417,6 +417,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
subnodes.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<statement> match)
|
||||
{
|
||||
return subnodes.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -1950,6 +1955,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
names.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<ident> match)
|
||||
{
|
||||
return names.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -2155,6 +2165,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
var_definitions.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<var_def_statement> match)
|
||||
{
|
||||
return var_definitions.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -2349,6 +2364,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
idents.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<ident> match)
|
||||
{
|
||||
return idents.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -2847,6 +2867,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
defs.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<declaration> match)
|
||||
{
|
||||
return defs.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -3041,6 +3066,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
compilation_units.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<compilation_unit> match)
|
||||
{
|
||||
return compilation_units.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -3446,6 +3476,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
expressions.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<expression> match)
|
||||
{
|
||||
return expressions.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -4905,6 +4940,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
indexers.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<type_definition> match)
|
||||
{
|
||||
return indexers.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -5675,6 +5715,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
params_list.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<typed_parameters> match)
|
||||
{
|
||||
return params_list.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -5869,6 +5914,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
proc_attributes.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<procedure_attribute> match)
|
||||
{
|
||||
return proc_attributes.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -6798,6 +6848,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
types_decl.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<type_declaration> match)
|
||||
{
|
||||
return types_decl.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -7369,6 +7424,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
const_defs.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<const_definition> match)
|
||||
{
|
||||
return const_defs.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -7938,6 +7998,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
units.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<unit_or_namespace> match)
|
||||
{
|
||||
return units.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -8348,6 +8413,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
compiler_directives.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<compiler_directive> match)
|
||||
{
|
||||
return compiler_directives.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -9583,6 +9653,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
ln.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<ident> match)
|
||||
{
|
||||
return ln.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -11549,6 +11624,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
members.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<declaration> match)
|
||||
{
|
||||
return members.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -11854,6 +11934,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
class_def_blocks.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<class_members> match)
|
||||
{
|
||||
return class_def_blocks.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -12808,6 +12893,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
rec_consts.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<record_const_definition> match)
|
||||
{
|
||||
return rec_consts.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -13608,6 +13698,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
literals.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<literal> match)
|
||||
{
|
||||
return literals.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -14096,6 +14191,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
vars.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<variant> match)
|
||||
{
|
||||
return vars.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -14424,6 +14524,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
vars.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<variant_type> match)
|
||||
{
|
||||
return vars.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -16724,6 +16829,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
variants.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<case_variant> match)
|
||||
{
|
||||
return variants.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -17052,6 +17162,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
vars.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<var_def_statement> match)
|
||||
{
|
||||
return vars.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -17737,6 +17852,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
parameters.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<property_parameter> match)
|
||||
{
|
||||
return parameters.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -19203,6 +19323,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
handlers.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<exception_handler> match)
|
||||
{
|
||||
return handlers.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -20176,6 +20301,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
namespaces.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<unit_or_namespace> match)
|
||||
{
|
||||
return namespaces.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -20856,6 +20986,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
types.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<named_type_reference> match)
|
||||
{
|
||||
return types.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -21069,6 +21204,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
params_list.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<type_definition> match)
|
||||
{
|
||||
return params_list.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -21828,6 +21968,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
defs.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<type_definition> match)
|
||||
{
|
||||
return defs.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -22156,6 +22301,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
defs.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<where_definition> match)
|
||||
{
|
||||
return defs.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -23933,6 +24083,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
enumerators.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<enumerator> match)
|
||||
{
|
||||
return enumerators.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -24459,6 +24614,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
attributes.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<type_definition_attr> match)
|
||||
{
|
||||
return attributes.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -24938,6 +25098,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
directives.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<compiler_directive> match)
|
||||
{
|
||||
return directives.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -25315,6 +25480,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
sections.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<documentation_comment_section> match)
|
||||
{
|
||||
return sections.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -25545,6 +25715,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
parameters.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<documentation_comment_tag_param> match)
|
||||
{
|
||||
return parameters.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -25875,6 +26050,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
tags.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<documentation_comment_tag> match)
|
||||
{
|
||||
return tags.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -26981,6 +27161,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
attributes.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<attribute> match)
|
||||
{
|
||||
return attributes.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -27175,6 +27360,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
attributes.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<simple_attribute_list> match)
|
||||
{
|
||||
return attributes.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -27549,6 +27739,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
defs.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<declaration> match)
|
||||
{
|
||||
return defs.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -27954,6 +28149,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
param.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<syntax_tree_node> match)
|
||||
{
|
||||
return param.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -28547,6 +28747,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
name_expr.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<name_assign_expr> match)
|
||||
{
|
||||
return name_expr.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -30463,6 +30668,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
variables.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<addressed_value> match)
|
||||
{
|
||||
return variables.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
@ -30787,6 +30997,11 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
listunitsections.InsertRange(ind, newels);
|
||||
}
|
||||
|
||||
public int RemoveAll(Predicate<uses_list> match)
|
||||
{
|
||||
return listunitsections.RemoveAll(match);
|
||||
}
|
||||
|
||||
// Окончание методов списка
|
||||
///<summary>
|
||||
///Свойство для получения количества всех подузлов без элементов поля типа List
|
||||
|
|
|
|||
|
|
@ -332,6 +332,13 @@ namespace NodeGenerator
|
|||
}
|
||||
";
|
||||
|
||||
public static readonly string list_remove_all_method =
|
||||
@" public int RemoveAll(Predicate<list_element_type> match)
|
||||
{
|
||||
return list_name.RemoveAll(match);
|
||||
}
|
||||
";
|
||||
|
||||
public static readonly string[] list_methods =
|
||||
{
|
||||
list_add_method,
|
||||
|
|
@ -345,7 +352,8 @@ namespace NodeGenerator
|
|||
list_insert_before_many_method,
|
||||
list_remove_method,
|
||||
list_replace_method,
|
||||
list_replace_many_method
|
||||
list_replace_many_method,
|
||||
list_remove_all_method
|
||||
};
|
||||
|
||||
// !Методы
|
||||
|
|
|
|||
Loading…
Reference in a new issue