Gender class
Represents a message send of Intl.gender
inside a message that is to
be internationalized. This corresponds to an ICU message syntax "select"
with "male", "female", and "other" as the possible options.
- Inheritance
-
- Object
- Message
- ComplexMessage
- SubMessage
- Gender
Constructors
- Gender()
- Gender.from(String mainArgument, List clauses, Message? parent)
-
Create a new Gender providing
mainArgument
and the list of possible clauses. Each clause is expected to be a list whose first element is a variable name and whose second element is either a String or a list of strings and Message or VariableSubstitution.
Properties
- arguments → dynamic
-
We find the arguments from the top-level MainMessage and use those to
do variable substitutions. MainMessage overrides this to return
the actual arguments.
no setterinherited
-
attributeNames
→ List<
String> -
no setteroverride
-
codeAttributeNames
→ List<
String> -
Return the list of attribute names to use when generating code. This
may be different from attributeNames if there are multiple aliases
that map to the same clause.
no setteroverride
- dartMessageName → String
-
Return the message name we would use for this when doing Dart code
generation, e.g. "Intl.plural".
no setteroverride
- examples → dynamic
-
We find the examples from the top-level MainMessage and use those
when writing out variables. MainMessage overrides this to return
the actual examples.
no setterinherited
- female ↔ Message?
-
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
- icuMessageName → String
-
Return the name of the message type, as it will be generated into an
ICU-type format. e.g. choice, select
no setteroverride
- mainArgument ↔ String?
-
The name of the main argument, which is expected to have the value which
is one of attributeNames and is used to decide which clause to use.
getter/setter pairinherited
- male ↔ Message?
-
getter/setter pair
- name → String
-
The name of the top-level MainMessage.
no setterinherited
- other ↔ Message?
-
getter/setter pair
- parent ↔ Message?
-
All Messages except a MainMessage are contained inside some parent,
terminating at an Intl.message call which supplies the arguments we
use for variable substitutions.
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
argumentsOfInterestFor(
MethodInvocation node) → Map -
Return the arguments that affect this SubMessage as a map of
argument names and values.
inherited
-
checkArgs(
NamedExpression? args, List< String> parameterNames) → bool -
Verify that the args argument matches the method parameters and
isn't, e.g. passing string names instead of the argument values.
inherited
-
checkValidity(
MethodInvocation node, List arguments, String? outerName, FormalParameterList outerArgs, {bool nameAndArgsGenerated = false, bool examplesRequired = false}) → String? -
Verify that this looks like a correct
Intl.message/plural/gender/... invocation.
inherited
-
escapeAndValidateString(
String value) → String -
Escape the string for use in generated Dart code.
inherited
-
expanded(
[Function transform = _nullTransform]) → String -
Expand this string out into a printed form. The function
f
will be applied to any sub-messages, allowing this to be used to generate a form suitable for a wide variety of translation file formats.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toCode(
) → String -
Return a string representation of this message for use in generated Dart
code.
inherited
-
toJson(
) → Object -
We represent this in JSON as a list with dartMessageName, the index in
the arguments list at which we will find the main argument (e.g. howMany
for a plural), and then the values of all the possible arguments, in the
order that they appear in codeAttributeNames. Any missing arguments are
saved as an explicit null.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
validate(
) → void -
Verify that a constructed message is valid.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
String attributeName) → Message? -
When we create these from strings or from AST nodes, we want to look up
and set their attributes by string names, so we override the indexing
operators so that they behave like maps with respect to those attribute
names.
override
-
operator []=(
String attributeName, dynamic rawValue) → void -
The node will have the attribute names as strings, so we translate
between those and the fields of the class.
override