VariableSubstitution class

Represents an interpolation of a variable value in a message. We expect this to be specified as an index into the list of variables, or else as the name of a variable that exists in arguments and we will compute the variable name or the index based on the value of the other.

Inheritance

Constructors

VariableSubstitution(int? _index, Message? parent)
VariableSubstitution.named(String name, Message? parent)
Create a substitution based on the name rather than the index. The name may have been used as all upper-case in the translation tool, so we save it separately and look it up case-insensitively once the parent (and its arguments) are definitely available.

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
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
hashCode int
The hash code for this object.
no setterinherited
index int?
no setter
name String
The name of the top-level MainMessage.
no setterinherited
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
variableName String?
The name of the variable in the parameter list of the containing function. Used when generating code for the interpolation.
no setter
variableNameFromParser String
The original variable name we get from parsing.
getter/setter pair

Methods

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? f = _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.
override
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.
override
toJson() Object?
Return a JSON-storable representation of this message which can be interpolated at runtime.
override
toString() String
A string representation of this object.
override
validate() → void
Verify that a constructed message is valid.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited