2024-04-08 02:12:35 +02:00
|
|
|
================================================================================
|
|
|
|
Select
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
foo = select(release_variable("RELEASE_TEST"), {
|
|
|
|
"d": "d2",
|
|
|
|
default: unset,
|
|
|
|
})
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
(source_file
|
|
|
|
(assignment
|
|
|
|
(identifier)
|
2024-04-08 03:13:43 +02:00
|
|
|
(operator)
|
2024-04-08 02:12:35 +02:00
|
|
|
(select_expression
|
|
|
|
(select_value
|
2024-04-23 16:56:10 +02:00
|
|
|
(identifier)
|
2024-04-08 02:12:35 +02:00
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_cases
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
2024-04-09 14:09:48 +02:00
|
|
|
(select_case
|
2024-04-09 14:08:02 +02:00
|
|
|
(default)
|
2024-04-08 02:12:35 +02:00
|
|
|
(unset))))))
|
|
|
|
|
2024-04-08 02:25:09 +02:00
|
|
|
================================================================================
|
|
|
|
Select (soong config variable)
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
foo = select(soong_config_variable("my_namespace", "my_var"), {
|
|
|
|
"foo": unset,
|
|
|
|
"default": "bar",
|
|
|
|
})
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
(source_file
|
|
|
|
(assignment
|
|
|
|
(identifier)
|
2024-04-08 03:13:43 +02:00
|
|
|
(operator)
|
2024-04-08 02:25:09 +02:00
|
|
|
(select_expression
|
2024-04-23 16:47:14 +02:00
|
|
|
(select_value
|
2024-04-23 16:56:10 +02:00
|
|
|
(identifier)
|
2024-04-08 02:25:09 +02:00
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_cases
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(unset))
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))))))
|
|
|
|
|
2024-04-08 02:12:35 +02:00
|
|
|
================================================================================
|
|
|
|
Select (no default)
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
foo = select(variant("arch"), {
|
|
|
|
"x86": "my_x86",
|
|
|
|
"x86_64": "my_x86_64",
|
|
|
|
"arm": "my_arm",
|
|
|
|
"arm64": "my_arm64",
|
|
|
|
})
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
(source_file
|
|
|
|
(assignment
|
|
|
|
(identifier)
|
2024-04-08 03:13:43 +02:00
|
|
|
(operator)
|
2024-04-08 02:12:35 +02:00
|
|
|
(select_expression
|
|
|
|
(select_value
|
2024-04-23 16:56:10 +02:00
|
|
|
(identifier)
|
2024-04-08 02:12:35 +02:00
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_cases
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))))))
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
Select (no values)
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
foo = select(variant("VARIANT"), {})
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
(source_file
|
|
|
|
(assignment
|
|
|
|
(identifier)
|
2024-04-08 03:13:43 +02:00
|
|
|
(operator)
|
2024-04-08 02:12:35 +02:00
|
|
|
(select_expression
|
|
|
|
(select_value
|
2024-04-23 16:56:10 +02:00
|
|
|
(identifier)
|
2024-04-08 02:12:35 +02:00
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_cases))))
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
Select (default in wrong order)
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
foo = select(variant("VARIANT"), {
|
|
|
|
"x86": "my_x86",
|
|
|
|
"x86_64": "my_x86_64",
|
|
|
|
default: unset,
|
|
|
|
"arm": "my_arm",
|
|
|
|
"arm64": "my_arm64",
|
|
|
|
})
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
(source_file
|
|
|
|
(assignment
|
|
|
|
(identifier)
|
2024-04-08 03:13:43 +02:00
|
|
|
(operator)
|
2024-04-08 02:12:35 +02:00
|
|
|
(select_expression
|
|
|
|
(select_value
|
2024-04-23 16:56:10 +02:00
|
|
|
(identifier)
|
2024-04-08 02:12:35 +02:00
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_cases
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
2024-04-23 16:38:32 +02:00
|
|
|
(select_case
|
|
|
|
(default)
|
|
|
|
(unset))
|
2024-04-08 02:12:35 +02:00
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))))))
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
Select (no condition)
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
foo = select(variant(), {
|
|
|
|
"d": unset,
|
|
|
|
default: "f2",
|
|
|
|
})
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
(source_file
|
|
|
|
(assignment
|
|
|
|
(identifier)
|
2024-04-08 03:13:43 +02:00
|
|
|
(operator)
|
2024-04-08 02:12:35 +02:00
|
|
|
(select_expression
|
|
|
|
(select_value
|
2024-04-23 16:56:10 +02:00
|
|
|
(identifier))
|
2024-04-08 02:12:35 +02:00
|
|
|
(select_cases
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(unset))
|
2024-04-09 14:09:48 +02:00
|
|
|
(select_case
|
2024-04-09 14:08:02 +02:00
|
|
|
(default)
|
2024-04-08 02:12:35 +02:00
|
|
|
(interpreted_string_literal))))))
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
Select (invalid type)
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
foo = select(some_unknown_type("CONDITION"), {
|
|
|
|
"d": "d2",
|
|
|
|
default: "f2",
|
|
|
|
})
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
(source_file
|
|
|
|
(assignment
|
|
|
|
(identifier)
|
2024-04-08 03:13:43 +02:00
|
|
|
(operator)
|
2024-04-23 16:47:14 +02:00
|
|
|
(select_expression
|
|
|
|
(select_value
|
2024-04-23 16:56:10 +02:00
|
|
|
(identifier)
|
2024-04-23 16:47:14 +02:00
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_cases
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_case
|
|
|
|
(default)
|
|
|
|
(interpreted_string_literal))))))
|
2024-04-09 13:22:30 +02:00
|
|
|
|
2024-04-13 19:44:14 +02:00
|
|
|
================================================================================
|
|
|
|
Select (multiple type arguments)
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
foo = select(release_variable("ONE", "TWO"), {
|
|
|
|
"d": "d2",
|
|
|
|
default: "f2",
|
|
|
|
})
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
(source_file
|
|
|
|
(assignment
|
|
|
|
(identifier)
|
|
|
|
(operator)
|
|
|
|
(select_expression
|
|
|
|
(select_value
|
2024-04-23 16:56:10 +02:00
|
|
|
(identifier)
|
2024-04-23 16:47:14 +02:00
|
|
|
(interpreted_string_literal)
|
2024-04-13 19:44:14 +02:00
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_cases
|
|
|
|
(select_case
|
|
|
|
(interpreted_string_literal)
|
|
|
|
(interpreted_string_literal))
|
|
|
|
(select_case
|
|
|
|
(default)
|
|
|
|
(interpreted_string_literal))))))
|
|
|
|
|
2024-04-09 13:22:30 +02:00
|
|
|
================================================================================
|
|
|
|
Select as an identifier
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
select = 42
|
|
|
|
|
|
|
|
foo {
|
|
|
|
select: false,
|
|
|
|
}
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
(source_file
|
|
|
|
(assignment
|
|
|
|
(identifier)
|
|
|
|
(operator)
|
|
|
|
(integer_literal))
|
|
|
|
(module
|
|
|
|
(identifier)
|
|
|
|
(property
|
|
|
|
(identifier)
|
|
|
|
(boolean_literal))))
|