From 180df8a63dbba221b85aeef99615c0f558614eba Mon Sep 17 00:00:00 2001 From: Arthur Baars Date: Wed, 4 Nov 2020 18:18:14 +0100 Subject: [PATCH] Make classes non-abstract --- generator/src/ql_gen.rs | 4 +- ql/src/codeql_ruby/ast.qll | 149 ++++++++++++++++++------------------- 2 files changed, 75 insertions(+), 78 deletions(-) diff --git a/generator/src/ql_gen.rs b/generator/src/ql_gen.rs index 84baedc33cd..c9de7749f8b 100644 --- a/generator/src/ql_gen.rs +++ b/generator/src/ql_gen.rs @@ -247,7 +247,7 @@ fn create_field_class( let class_name = dbscheme_name_to_class_name(&field_union_name); classes.push(ql::TopLevel::Class(ql::Class { name: class_name.clone(), - is_abstract: true, + is_abstract: false, supertypes: [ vec![ql::Type::AtType(field_union_name.clone())], get_base_classes(&class_name, &supertype_map), @@ -510,7 +510,7 @@ pub fn convert_nodes(nodes: &Vec) -> Vec { let class_name = dbscheme_name_to_class_name(&union_name); classes.push(ql::TopLevel::Class(ql::Class { name: class_name.clone(), - is_abstract: true, + is_abstract: false, supertypes: [ vec![ql::Type::AtType(union_name)], get_base_classes(&class_name, &supertype_map), diff --git a/ql/src/codeql_ruby/ast.qll b/ql/src/codeql_ruby/ast.qll index 93c2de2ae38..cc755954f4a 100644 --- a/ql/src/codeql_ruby/ast.qll +++ b/ql/src/codeql_ruby/ast.qll @@ -26,29 +26,28 @@ class Token extends @token, AstNode { override string describeQlClass() { result = "Token" } } -abstract class UnderscoreArg extends @underscore_arg, AstNode, ArgumentListChildType, - ArrayChildType, AssignmentRightType, BinaryLeftType, BinaryRightType, ElementReferenceChildType, +class UnderscoreArg extends @underscore_arg, AstNode, ArgumentListChildType, ArrayChildType, + AssignmentRightType, BinaryLeftType, BinaryRightType, ElementReferenceChildType, ExceptionsChildType, IfModifierConditionType, OperatorAssignmentRightType, PairKeyType, PatternChildType, RescueModifierHandlerType, RightAssignmentListChildType, SingletonMethodObjectType, SuperclassChildType, UnaryChildType, UnderscoreStatement, UnlessModifierConditionType, UntilModifierConditionType, WhileModifierConditionType { } -abstract class UnderscoreLhs extends @underscore_lhs, AstNode, AssignmentLeftType, +class UnderscoreLhs extends @underscore_lhs, AstNode, AssignmentLeftType, DestructuredLeftAssignmentChildType, ForPatternType, LeftAssignmentListChildType, UnderscorePrimary { } -abstract class UnderscoreMethodName extends @underscore_method_name, AstNode { } +class UnderscoreMethodName extends @underscore_method_name, AstNode { } -abstract class UnderscorePrimary extends @underscore_primary, AstNode, CallReceiverType, - UnderscoreArg { } +class UnderscorePrimary extends @underscore_primary, AstNode, CallReceiverType, UnderscoreArg { } -abstract class UnderscoreStatement extends @underscore_statement, AstNode, BeginBlockChildType, +class UnderscoreStatement extends @underscore_statement, AstNode, BeginBlockChildType, BeginChildType, BlockChildType, ClassChildType, DoBlockChildType, DoChildType, ElseChildType, EndBlockChildType, EnsureChildType, MethodChildType, ModuleChildType, ParenthesizedStatementsChildType, ProgramChildType, SingletonClassChildType, SingletonMethodChildType, ThenChildType { } -abstract class UnderscoreVariable extends @underscore_variable, AstNode, MethodCallMethodType, +class UnderscoreVariable extends @underscore_variable, AstNode, MethodCallMethodType, SingletonMethodObjectType, UnderscoreLhs { } class Alias extends @alias, AstNode, UnderscoreStatement { @@ -65,7 +64,7 @@ class Alias extends @alias, AstNode, UnderscoreStatement { } } -abstract class ArgumentListChildType extends @argument_list_child_type, AstNode { } +class ArgumentListChildType extends @argument_list_child_type, AstNode { } class ArgumentList extends @argument_list, AstNode, CallMethodType { override string describeQlClass() { result = "ArgumentList" } @@ -77,7 +76,7 @@ class ArgumentList extends @argument_list, AstNode, CallMethodType { override AstNode getAFieldOrChild() { argument_list_child(this, _, result) } } -abstract class ArrayChildType extends @array_child_type, AstNode { } +class ArrayChildType extends @array_child_type, AstNode { } class Array extends @array, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Array" } @@ -89,9 +88,9 @@ class Array extends @array, AstNode, UnderscorePrimary { override AstNode getAFieldOrChild() { array_child(this, _, result) } } -abstract class AssignmentLeftType extends @assignment_left_type, AstNode { } +class AssignmentLeftType extends @assignment_left_type, AstNode { } -abstract class AssignmentRightType extends @assignment_right_type, AstNode { } +class AssignmentRightType extends @assignment_right_type, AstNode { } class Assignment extends @assignment, AstNode, UnderscoreArg, UnderscoreStatement { override string describeQlClass() { result = "Assignment" } @@ -107,7 +106,7 @@ class Assignment extends @assignment, AstNode, UnderscoreArg, UnderscoreStatemen } } -abstract class BareStringChildType extends @bare_string_child_type, AstNode { } +class BareStringChildType extends @bare_string_child_type, AstNode { } class BareString extends @bare_string, AstNode { override string describeQlClass() { result = "BareString" } @@ -119,7 +118,7 @@ class BareString extends @bare_string, AstNode { override AstNode getAFieldOrChild() { bare_string_child(this, _, result) } } -abstract class BareSymbolChildType extends @bare_symbol_child_type, AstNode { } +class BareSymbolChildType extends @bare_symbol_child_type, AstNode { } class BareSymbol extends @bare_symbol, AstNode { override string describeQlClass() { result = "BareSymbol" } @@ -131,7 +130,7 @@ class BareSymbol extends @bare_symbol, AstNode { override AstNode getAFieldOrChild() { bare_symbol_child(this, _, result) } } -abstract class BeginChildType extends @begin_child_type, AstNode { } +class BeginChildType extends @begin_child_type, AstNode { } class Begin extends @begin, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Begin" } @@ -143,7 +142,7 @@ class Begin extends @begin, AstNode, UnderscorePrimary { override AstNode getAFieldOrChild() { begin_child(this, _, result) } } -abstract class BeginBlockChildType extends @begin_block_child_type, AstNode { } +class BeginBlockChildType extends @begin_block_child_type, AstNode { } class BeginBlock extends @begin_block, AstNode, UnderscoreStatement { override string describeQlClass() { result = "BeginBlock" } @@ -155,11 +154,11 @@ class BeginBlock extends @begin_block, AstNode, UnderscoreStatement { override AstNode getAFieldOrChild() { begin_block_child(this, _, result) } } -abstract class BinaryLeftType extends @binary_left_type, AstNode { } +class BinaryLeftType extends @binary_left_type, AstNode { } -abstract class BinaryOperatorType extends @binary_operator_type, AstNode { } +class BinaryOperatorType extends @binary_operator_type, AstNode { } -abstract class BinaryRightType extends @binary_right_type, AstNode { } +class BinaryRightType extends @binary_right_type, AstNode { } class Binary extends @binary, AstNode, UnderscoreArg, UnderscoreStatement { override string describeQlClass() { result = "Binary" } @@ -179,7 +178,7 @@ class Binary extends @binary, AstNode, UnderscoreArg, UnderscoreStatement { } } -abstract class BlockChildType extends @block_child_type, AstNode { } +class BlockChildType extends @block_child_type, AstNode { } class Block extends @block, AstNode, LambdaBodyType, MethodCallBlockType { override string describeQlClass() { result = "Block" } @@ -213,7 +212,7 @@ class BlockParameter extends @block_parameter, AstNode, BlockParametersChildType override AstNode getAFieldOrChild() { block_parameter_def(this, result, _) } } -abstract class BlockParametersChildType extends @block_parameters_child_type, AstNode { } +class BlockParametersChildType extends @block_parameters_child_type, AstNode { } class BlockParameters extends @block_parameters, AstNode, BlockChildType, DoBlockChildType { override string describeQlClass() { result = "BlockParameters" } @@ -239,9 +238,9 @@ class Break extends @break, AstNode, ArgumentListChildType, ArrayChildType, Assi override AstNode getAFieldOrChild() { break_child(this, result) } } -abstract class CallMethodType extends @call_method_type, AstNode { } +class CallMethodType extends @call_method_type, AstNode { } -abstract class CallReceiverType extends @call_receiver_type, AstNode { } +class CallReceiverType extends @call_receiver_type, AstNode { } class Call extends @call, AstNode, ArgumentListChildType, ArrayChildType, AssignmentRightType, BinaryLeftType, BinaryRightType, ElementReferenceChildType, IfModifierConditionType, @@ -261,7 +260,7 @@ class Call extends @call, AstNode, ArgumentListChildType, ArrayChildType, Assign } } -abstract class CaseChildType extends @case_child_type, AstNode { } +class CaseChildType extends @case_child_type, AstNode { } class Case extends @case__, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Case" } @@ -285,9 +284,9 @@ class ChainedString extends @chained_string, AstNode, UnderscorePrimary { override AstNode getAFieldOrChild() { chained_string_child(this, _, result) } } -abstract class ClassNameType extends @class_name_type, AstNode { } +class ClassNameType extends @class_name_type, AstNode { } -abstract class ClassChildType extends @class_child_type, AstNode { } +class ClassChildType extends @class_child_type, AstNode { } class Class extends @class, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Class" } @@ -319,8 +318,8 @@ class Conditional extends @conditional, AstNode, UnderscoreArg { } } -abstract class DestructuredLeftAssignmentChildType extends @destructured_left_assignment_child_type, - AstNode { } +class DestructuredLeftAssignmentChildType extends @destructured_left_assignment_child_type, AstNode { +} class DestructuredLeftAssignment extends @destructured_left_assignment, AstNode, DestructuredLeftAssignmentChildType, ForPatternType, LeftAssignmentListChildType { @@ -335,8 +334,7 @@ class DestructuredLeftAssignment extends @destructured_left_assignment, AstNode, override AstNode getAFieldOrChild() { destructured_left_assignment_child(this, _, result) } } -abstract class DestructuredParameterChildType extends @destructured_parameter_child_type, AstNode { -} +class DestructuredParameterChildType extends @destructured_parameter_child_type, AstNode { } class DestructuredParameter extends @destructured_parameter, AstNode, BlockParametersChildType, DestructuredParameterChildType, LambdaParametersChildType, MethodParametersChildType { @@ -349,7 +347,7 @@ class DestructuredParameter extends @destructured_parameter, AstNode, BlockParam override AstNode getAFieldOrChild() { destructured_parameter_child(this, _, result) } } -abstract class DoChildType extends @do_child_type, AstNode { } +class DoChildType extends @do_child_type, AstNode { } class Do extends @do, AstNode { override string describeQlClass() { result = "Do" } @@ -361,7 +359,7 @@ class Do extends @do, AstNode { override AstNode getAFieldOrChild() { do_child(this, _, result) } } -abstract class DoBlockChildType extends @do_block_child_type, AstNode { } +class DoBlockChildType extends @do_block_child_type, AstNode { } class DoBlock extends @do_block, AstNode, LambdaBodyType, MethodCallBlockType { override string describeQlClass() { result = "DoBlock" } @@ -373,7 +371,7 @@ class DoBlock extends @do_block, AstNode, LambdaBodyType, MethodCallBlockType { override AstNode getAFieldOrChild() { do_block_child(this, _, result) } } -abstract class ElementReferenceChildType extends @element_reference_child_type, AstNode { } +class ElementReferenceChildType extends @element_reference_child_type, AstNode { } class ElementReference extends @element_reference, AstNode, UnderscoreLhs { override string describeQlClass() { result = "ElementReference" } @@ -389,7 +387,7 @@ class ElementReference extends @element_reference, AstNode, UnderscoreLhs { } } -abstract class ElseChildType extends @else_child_type, AstNode { } +class ElseChildType extends @else_child_type, AstNode { } class Else extends @else, AstNode, BeginChildType, CaseChildType, ClassChildType, DoBlockChildType, ElsifAlternativeType, IfAlternativeType, MethodChildType, ModuleChildType, @@ -407,7 +405,7 @@ class Else extends @else, AstNode, BeginChildType, CaseChildType, ClassChildType } } -abstract class ElsifAlternativeType extends @elsif_alternative_type, AstNode { } +class ElsifAlternativeType extends @elsif_alternative_type, AstNode { } class Elsif extends @elsif, AstNode, ElsifAlternativeType, IfAlternativeType, UnlessAlternativeType { override string describeQlClass() { result = "Elsif" } @@ -425,7 +423,7 @@ class Elsif extends @elsif, AstNode, ElsifAlternativeType, IfAlternativeType, Un } } -abstract class EndBlockChildType extends @end_block_child_type, AstNode { } +class EndBlockChildType extends @end_block_child_type, AstNode { } class EndBlock extends @end_block, AstNode, UnderscoreStatement { override string describeQlClass() { result = "EndBlock" } @@ -437,7 +435,7 @@ class EndBlock extends @end_block, AstNode, UnderscoreStatement { override AstNode getAFieldOrChild() { end_block_child(this, _, result) } } -abstract class EnsureChildType extends @ensure_child_type, AstNode { } +class EnsureChildType extends @ensure_child_type, AstNode { } class Ensure extends @ensure, AstNode, BeginChildType, ClassChildType, DoBlockChildType, MethodChildType, ModuleChildType, SingletonClassChildType, SingletonMethodChildType { @@ -460,7 +458,7 @@ class ExceptionVariable extends @exception_variable, AstNode { override AstNode getAFieldOrChild() { exception_variable_def(this, result, _) } } -abstract class ExceptionsChildType extends @exceptions_child_type, AstNode { } +class ExceptionsChildType extends @exceptions_child_type, AstNode { } class Exceptions extends @exceptions, AstNode { override string describeQlClass() { result = "Exceptions" } @@ -472,7 +470,7 @@ class Exceptions extends @exceptions, AstNode { override AstNode getAFieldOrChild() { exceptions_child(this, _, result) } } -abstract class ForPatternType extends @for_pattern_type, AstNode { } +class ForPatternType extends @for_pattern_type, AstNode { } class For extends @for, AstNode, UnderscorePrimary { override string describeQlClass() { result = "For" } @@ -490,7 +488,7 @@ class For extends @for, AstNode, UnderscorePrimary { } } -abstract class HashChildType extends @hash_child_type, AstNode { } +class HashChildType extends @hash_child_type, AstNode { } class Hash extends @hash, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Hash" } @@ -524,7 +522,7 @@ class HashSplatParameter extends @hash_splat_parameter, AstNode, BlockParameters override AstNode getAFieldOrChild() { hash_splat_parameter_name(this, result) } } -abstract class HeredocBodyChildType extends @heredoc_body_child_type, AstNode { } +class HeredocBodyChildType extends @heredoc_body_child_type, AstNode { } class HeredocBody extends @heredoc_body, AstNode { override string describeQlClass() { result = "HeredocBody" } @@ -536,7 +534,7 @@ class HeredocBody extends @heredoc_body, AstNode { override AstNode getAFieldOrChild() { heredoc_body_child(this, _, result) } } -abstract class IfAlternativeType extends @if_alternative_type, AstNode { } +class IfAlternativeType extends @if_alternative_type, AstNode { } class If extends @if, AstNode, UnderscorePrimary { override string describeQlClass() { result = "If" } @@ -554,7 +552,7 @@ class If extends @if, AstNode, UnderscorePrimary { } } -abstract class IfModifierConditionType extends @if_modifier_condition_type, AstNode { } +class IfModifierConditionType extends @if_modifier_condition_type, AstNode { } class IfModifier extends @if_modifier, AstNode, UnderscoreStatement { override string describeQlClass() { result = "IfModifier" } @@ -606,7 +604,7 @@ class KeywordParameter extends @keyword_parameter, AstNode, BlockParametersChild } } -abstract class LambdaBodyType extends @lambda_body_type, AstNode { } +class LambdaBodyType extends @lambda_body_type, AstNode { } class Lambda extends @lambda, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Lambda" } @@ -622,7 +620,7 @@ class Lambda extends @lambda, AstNode, UnderscorePrimary { } } -abstract class LambdaParametersChildType extends @lambda_parameters_child_type, AstNode { } +class LambdaParametersChildType extends @lambda_parameters_child_type, AstNode { } class LambdaParameters extends @lambda_parameters, AstNode { override string describeQlClass() { result = "LambdaParameters" } @@ -634,7 +632,7 @@ class LambdaParameters extends @lambda_parameters, AstNode { override AstNode getAFieldOrChild() { lambda_parameters_child(this, _, result) } } -abstract class LeftAssignmentListChildType extends @left_assignment_list_child_type, AstNode { } +class LeftAssignmentListChildType extends @left_assignment_list_child_type, AstNode { } class LeftAssignmentList extends @left_assignment_list, AstNode, AssignmentLeftType { override string describeQlClass() { result = "LeftAssignmentList" } @@ -646,7 +644,7 @@ class LeftAssignmentList extends @left_assignment_list, AstNode, AssignmentLeftT override AstNode getAFieldOrChild() { left_assignment_list_child(this, _, result) } } -abstract class MethodChildType extends @method_child_type, AstNode { } +class MethodChildType extends @method_child_type, AstNode { } class Method extends @method, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Method" } @@ -664,9 +662,9 @@ class Method extends @method, AstNode, UnderscorePrimary { } } -abstract class MethodCallBlockType extends @method_call_block_type, AstNode { } +class MethodCallBlockType extends @method_call_block_type, AstNode { } -abstract class MethodCallMethodType extends @method_call_method_type, AstNode { } +class MethodCallMethodType extends @method_call_method_type, AstNode { } class MethodCall extends @method_call, AstNode, ArgumentListChildType, ArrayChildType, AssignmentRightType, BinaryLeftType, BinaryRightType, CallReceiverType, ElementReferenceChildType, @@ -690,7 +688,7 @@ class MethodCall extends @method_call, AstNode, ArgumentListChildType, ArrayChil } } -abstract class MethodParametersChildType extends @method_parameters_child_type, AstNode { } +class MethodParametersChildType extends @method_parameters_child_type, AstNode { } class MethodParameters extends @method_parameters, AstNode { override string describeQlClass() { result = "MethodParameters" } @@ -702,9 +700,9 @@ class MethodParameters extends @method_parameters, AstNode { override AstNode getAFieldOrChild() { method_parameters_child(this, _, result) } } -abstract class ModuleNameType extends @module_name_type, AstNode { } +class ModuleNameType extends @module_name_type, AstNode { } -abstract class ModuleChildType extends @module_child_type, AstNode { } +class ModuleChildType extends @module_child_type, AstNode { } class Module extends @module, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Module" } @@ -734,7 +732,7 @@ class Next extends @next, AstNode, ArgumentListChildType, ArrayChildType, Assign override AstNode getAFieldOrChild() { next_child(this, result) } } -abstract class OperatorAssignmentRightType extends @operator_assignment_right_type, AstNode { } +class OperatorAssignmentRightType extends @operator_assignment_right_type, AstNode { } class OperatorAssignment extends @operator_assignment, AstNode, UnderscoreArg, UnderscoreStatement { override string describeQlClass() { result = "OperatorAssignment" } @@ -765,7 +763,7 @@ class OptionalParameter extends @optional_parameter, AstNode, BlockParametersChi } } -abstract class PairKeyType extends @pair_key_type, AstNode { } +class PairKeyType extends @pair_key_type, AstNode { } class Pair extends @pair, AstNode, ArgumentListChildType, ArrayChildType, ElementReferenceChildType, HashChildType { @@ -782,8 +780,7 @@ class Pair extends @pair, AstNode, ArgumentListChildType, ArrayChildType, Elemen } } -abstract class ParenthesizedStatementsChildType extends @parenthesized_statements_child_type, - AstNode { } +class ParenthesizedStatementsChildType extends @parenthesized_statements_child_type, AstNode { } class ParenthesizedStatements extends @parenthesized_statements, AstNode, UnaryChildType, UnderscorePrimary { @@ -798,7 +795,7 @@ class ParenthesizedStatements extends @parenthesized_statements, AstNode, UnaryC override AstNode getAFieldOrChild() { parenthesized_statements_child(this, _, result) } } -abstract class PatternChildType extends @pattern_child_type, AstNode { } +class PatternChildType extends @pattern_child_type, AstNode { } class Pattern extends @pattern, AstNode, WhenPatternType { override string describeQlClass() { result = "Pattern" } @@ -810,7 +807,7 @@ class Pattern extends @pattern, AstNode, WhenPatternType { override AstNode getAFieldOrChild() { pattern_def(this, result, _) } } -abstract class ProgramChildType extends @program_child_type, AstNode { } +class ProgramChildType extends @program_child_type, AstNode { } class Program extends @program, AstNode { override string describeQlClass() { result = "Program" } @@ -852,7 +849,7 @@ class Redo extends @redo, AstNode, UnderscorePrimary { override AstNode getAFieldOrChild() { redo_child(this, result) } } -abstract class RegexChildType extends @regex_child_type, AstNode { } +class RegexChildType extends @regex_child_type, AstNode { } class Regex extends @regex, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Regex" } @@ -881,7 +878,7 @@ class Rescue extends @rescue, AstNode, BeginChildType, ClassChildType, DoBlockCh } } -abstract class RescueModifierHandlerType extends @rescue_modifier_handler_type, AstNode { } +class RescueModifierHandlerType extends @rescue_modifier_handler_type, AstNode { } class RescueModifier extends @rescue_modifier, AstNode, UnderscoreStatement { override string describeQlClass() { result = "RescueModifier" } @@ -932,7 +929,7 @@ class Return extends @return, AstNode, ArgumentListChildType, ArrayChildType, As override AstNode getAFieldOrChild() { return_child(this, result) } } -abstract class RightAssignmentListChildType extends @right_assignment_list_child_type, AstNode { } +class RightAssignmentListChildType extends @right_assignment_list_child_type, AstNode { } class RightAssignmentList extends @right_assignment_list, AstNode, AssignmentRightType { override string describeQlClass() { result = "RightAssignmentList" } @@ -944,7 +941,7 @@ class RightAssignmentList extends @right_assignment_list, AstNode, AssignmentRig override AstNode getAFieldOrChild() { right_assignment_list_child(this, _, result) } } -abstract class ScopeResolutionNameType extends @scope_resolution_name_type, AstNode { } +class ScopeResolutionNameType extends @scope_resolution_name_type, AstNode { } class ScopeResolution extends @scope_resolution, AstNode, ClassNameType, MethodCallMethodType, ModuleNameType, UnderscoreLhs { @@ -971,7 +968,7 @@ class Setter extends @setter, AstNode, UnderscoreMethodName { override AstNode getAFieldOrChild() { setter_def(this, result, _) } } -abstract class SingletonClassChildType extends @singleton_class_child_type, AstNode { } +class SingletonClassChildType extends @singleton_class_child_type, AstNode { } class SingletonClass extends @singleton_class, AstNode, UnderscorePrimary { override string describeQlClass() { result = "SingletonClass" } @@ -987,9 +984,9 @@ class SingletonClass extends @singleton_class, AstNode, UnderscorePrimary { } } -abstract class SingletonMethodObjectType extends @singleton_method_object_type, AstNode { } +class SingletonMethodObjectType extends @singleton_method_object_type, AstNode { } -abstract class SingletonMethodChildType extends @singleton_method_child_type, AstNode { } +class SingletonMethodChildType extends @singleton_method_child_type, AstNode { } class SingletonMethod extends @singleton_method, AstNode, UnderscorePrimary { override string describeQlClass() { result = "SingletonMethod" } @@ -1035,7 +1032,7 @@ class SplatParameter extends @splat_parameter, AstNode, BlockParametersChildType override AstNode getAFieldOrChild() { splat_parameter_name(this, result) } } -abstract class StringChildType extends @string_child_type, AstNode { } +class StringChildType extends @string_child_type, AstNode { } class String extends @string__, AstNode, PairKeyType, UnderscorePrimary { override string describeQlClass() { result = "String" } @@ -1057,7 +1054,7 @@ class StringArray extends @string_array, AstNode, UnderscorePrimary { override AstNode getAFieldOrChild() { string_array_child(this, _, result) } } -abstract class SubshellChildType extends @subshell_child_type, AstNode { } +class SubshellChildType extends @subshell_child_type, AstNode { } class Subshell extends @subshell, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Subshell" } @@ -1069,7 +1066,7 @@ class Subshell extends @subshell, AstNode, UnderscorePrimary { override AstNode getAFieldOrChild() { subshell_child(this, _, result) } } -abstract class SuperclassChildType extends @superclass_child_type, AstNode { } +class SuperclassChildType extends @superclass_child_type, AstNode { } class Superclass extends @superclass, AstNode, ClassChildType { override string describeQlClass() { result = "Superclass" } @@ -1081,7 +1078,7 @@ class Superclass extends @superclass, AstNode, ClassChildType { override AstNode getAFieldOrChild() { superclass_def(this, result, _) } } -abstract class SymbolChildType extends @symbol_child_type, AstNode { } +class SymbolChildType extends @symbol_child_type, AstNode { } class Symbol extends @symbol, AstNode, PairKeyType, UnderscoreMethodName, UnderscorePrimary { override string describeQlClass() { result = "Symbol" } @@ -1103,7 +1100,7 @@ class SymbolArray extends @symbol_array, AstNode, UnderscorePrimary { override AstNode getAFieldOrChild() { symbol_array_child(this, _, result) } } -abstract class ThenChildType extends @then_child_type, AstNode { } +class ThenChildType extends @then_child_type, AstNode { } class Then extends @then, AstNode { override string describeQlClass() { result = "Then" } @@ -1115,7 +1112,7 @@ class Then extends @then, AstNode { override AstNode getAFieldOrChild() { then_child(this, _, result) } } -abstract class UnaryChildType extends @unary_child_type, AstNode { } +class UnaryChildType extends @unary_child_type, AstNode { } class Unary extends @unary, AstNode, UnderscoreArg, UnderscorePrimary, UnderscoreStatement { override string describeQlClass() { result = "Unary" } @@ -1137,7 +1134,7 @@ class Undef extends @undef, AstNode, UnderscoreStatement { override AstNode getAFieldOrChild() { undef_child(this, _, result) } } -abstract class UnlessAlternativeType extends @unless_alternative_type, AstNode { } +class UnlessAlternativeType extends @unless_alternative_type, AstNode { } class Unless extends @unless, AstNode, UnderscorePrimary { override string describeQlClass() { result = "Unless" } @@ -1157,7 +1154,7 @@ class Unless extends @unless, AstNode, UnderscorePrimary { } } -abstract class UnlessModifierConditionType extends @unless_modifier_condition_type, AstNode { } +class UnlessModifierConditionType extends @unless_modifier_condition_type, AstNode { } class UnlessModifier extends @unless_modifier, AstNode, UnderscoreStatement { override string describeQlClass() { result = "UnlessModifier" } @@ -1187,7 +1184,7 @@ class Until extends @until, AstNode, UnderscorePrimary { } } -abstract class UntilModifierConditionType extends @until_modifier_condition_type, AstNode { } +class UntilModifierConditionType extends @until_modifier_condition_type, AstNode { } class UntilModifier extends @until_modifier, AstNode, UnderscoreStatement { override string describeQlClass() { result = "UntilModifier" } @@ -1203,7 +1200,7 @@ class UntilModifier extends @until_modifier, AstNode, UnderscoreStatement { } } -abstract class WhenPatternType extends @when_pattern_type, AstNode { } +class WhenPatternType extends @when_pattern_type, AstNode { } class When extends @when, AstNode, CaseChildType { override string describeQlClass() { result = "When" } @@ -1231,7 +1228,7 @@ class While extends @while, AstNode, UnderscorePrimary { } } -abstract class WhileModifierConditionType extends @while_modifier_condition_type, AstNode { } +class WhileModifierConditionType extends @while_modifier_condition_type, AstNode { } class WhileModifier extends @while_modifier, AstNode, UnderscoreStatement { override string describeQlClass() { result = "WhileModifier" }