Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions unified/extractor/ast_types.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ supertypes:
- switch_expr
- unresolved_operator_sequence
- unsupported_node
expr_or_pattern:
- expr
- pattern
expr_or_type:
- expr
Expand Down Expand Up @@ -164,7 +162,7 @@ named:

# Plain assignment
assign_expr:
target: expr_or_pattern
target: expr
value: expr

# Compound assignment
Expand Down
10 changes: 3 additions & 7 deletions unified/ql/lib/codeql/unified/internal/Ast.qll
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ module Unified {
final override string getAPrimaryQlClass() { result = "AssignExpr" }

/** Gets the node corresponding to the field `target`. */
final F::ExprOrPattern getTarget() { unified_assign_expr_def(this, result, _) }
final F::Expr getTarget() { unified_assign_expr_def(this, result, _) }

/** Gets the node corresponding to the field `value`. */
final F::Expr getValue() { unified_assign_expr_def(this, _, result) }
Expand Down Expand Up @@ -658,7 +658,7 @@ module Unified {
}
}

class Expr extends @unified_expr, F::ExprOrOperator, F::ExprOrPattern, F::ExprOrType, F::Stmt { }
class Expr extends @unified_expr, F::ExprOrOperator, F::ExprOrType, F::Stmt { }

/** A class representing `expr_equality_pattern` nodes. */
class ExprEqualityPattern extends @unified_expr_equality_pattern, F::Pattern {
Expand All @@ -674,8 +674,6 @@ module Unified {

class ExprOrOperator extends @unified_expr_or_operator, F::AstNode { }

class ExprOrPattern extends @unified_expr_or_pattern, F::AstNode { }

class ExprOrType extends @unified_expr_or_type, F::AstNode { }

/** A class representing `fixity` tokens. */
Expand Down Expand Up @@ -1201,7 +1199,7 @@ module Unified {
}
}

class Pattern extends @unified_pattern, F::ExprOrPattern { }
class Pattern extends @unified_pattern, F::Expr { }

/** A class representing `pattern_element` nodes. */
class PatternElement extends @unified_pattern_element, F::AstNode {
Expand Down Expand Up @@ -2107,8 +2105,6 @@ module UnifiedFinal {

final class ExprOrOperator = F::ExprOrOperator;

final class ExprOrPattern = F::ExprOrPattern;

final class ExprOrType = F::ExprOrType;

final class Fixity = F::Fixity;
Expand Down
6 changes: 2 additions & 4 deletions unified/ql/lib/unified.dbscheme
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ unified_array_literal_def(

unified_assign_expr_def(
unique int id: @unified_assign_expr,
int target: @unified_expr_or_pattern ref,
int target: @unified_expr ref,
int value: @unified_expr ref
);

Expand Down Expand Up @@ -462,7 +462,7 @@ unified_equality_type_constraint_def(
int right: @unified_type_expr ref
);

@unified_expr = @unified_array_literal | @unified_assign_expr | @unified_binary_expr | @unified_block | @unified_break_expr | @unified_call_expr | @unified_compound_assign_expr | @unified_continue_expr | @unified_function_expr | @unified_if_expr | @unified_key_value_pair | @unified_map_literal | @unified_member_access_expr | @unified_name_expr | @unified_pattern_guard_expr | @unified_return_expr | @unified_switch_expr | @unified_throw_expr | @unified_token_boolean_literal | @unified_token_builtin_expr | @unified_token_empty_expr | @unified_token_float_literal | @unified_token_int_literal | @unified_token_regex_literal | @unified_token_string_literal | @unified_token_super_expr | @unified_token_unsupported_node | @unified_try_expr | @unified_tuple_expr | @unified_type_cast_expr | @unified_type_test_expr | @unified_unary_expr | @unified_unresolved_operator_sequence
@unified_expr = @unified_array_literal | @unified_assign_expr | @unified_binary_expr | @unified_block | @unified_break_expr | @unified_call_expr | @unified_compound_assign_expr | @unified_continue_expr | @unified_function_expr | @unified_if_expr | @unified_key_value_pair | @unified_map_literal | @unified_member_access_expr | @unified_name_expr | @unified_pattern | @unified_pattern_guard_expr | @unified_return_expr | @unified_switch_expr | @unified_throw_expr | @unified_token_boolean_literal | @unified_token_builtin_expr | @unified_token_empty_expr | @unified_token_float_literal | @unified_token_int_literal | @unified_token_regex_literal | @unified_token_string_literal | @unified_token_super_expr | @unified_token_unsupported_node | @unified_try_expr | @unified_tuple_expr | @unified_type_cast_expr | @unified_type_test_expr | @unified_unary_expr | @unified_unresolved_operator_sequence

unified_expr_equality_pattern_def(
unique int id: @unified_expr_equality_pattern,
Expand All @@ -471,8 +471,6 @@ unified_expr_equality_pattern_def(

@unified_expr_or_operator = @unified_expr | @unified_token_infix_operator

@unified_expr_or_pattern = @unified_expr | @unified_pattern

@unified_expr_or_type = @unified_expr | @unified_type_expr

unified_for_each_stmt_body(
Expand Down
Loading