DartGrammarDefinition class
Complete grammar and parser definition for the Dart programming language.
Built using modern modular PetitParser mixins and produces typed DartNode AST representations.
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
abstractToken(
) → Parser< Token< String> > -
inherited
-
argument(
) → Parser< ArgumentNode> -
inherited
-
argumentList(
) → Parser< List< ArgumentNode> > -
inherited
-
assertInitializer(
) → Parser< AssertInitializerNode> -
inherited
-
assertStatement(
) → Parser< AssertStatementNode> -
inherited
-
assertToken(
) → Parser< Token< String> > -
inherited
-
asToken(
) → Parser< Token< String> > -
inherited
-
asyncOrSyncModifier(
) → Parser< String> -
inherited
-
asyncToken(
) → Parser< Token< String> > -
inherited
-
awaitToken(
) → Parser< Token< String> > -
inherited
-
baseToken(
) → Parser< Token< String> > -
inherited
-
block(
) → Parser< BlockStatementNode> -
Abstract block statement reference needed for function closures.
inherited
-
booleanLiteral(
) → Parser< BooleanLiteralNode> -
inherited
-
breakStatement(
) → Parser< BreakStatementNode> -
inherited
-
breakToken(
) → Parser< Token< String> > -
inherited
-
build(
) → Parser< CompilationUnitNode> -
Builds the default composite parser starting at
start.inherited -
buildFrom<
T> (Parser< T> parser) → Parser<T> -
Builds a composite parser starting with the specified
parser.inherited -
cascadeSection(
) → Parser< ExpressionNode> -
inherited
-
caseToken(
) → Parser< Token< String> > -
inherited
-
catchClause(
) → Parser< CatchClauseNode> -
inherited
-
catchParameters(
) → Parser< (String, String?)> -
inherited
-
catchToken(
) → Parser< Token< String> > -
inherited
-
classDeclaration(
) → Parser< ClassDeclarationNode> -
inherited
-
classMemberDefinition(
) → Parser< DeclarationNode> -
inherited
-
classModifier(
) → Parser< String> -
inherited
-
classToken(
) → Parser< Token< String> > -
inherited
-
collectionElement(
) → Parser< CollectionElementNode> -
inherited
-
collectionLiteral(
) → Parser< CollectionLiteralNode> -
List, Set, or Map literal (
[1, 2],{'a': 1},<int>{1, 2}).inherited -
combinator(
) → Parser< CombinatorNode> -
inherited
-
compilationUnit(
) → Parser< CompilationUnitNode> -
inherited
-
configurationUri(
) → Parser< ConfigurationUriNode> -
inherited
-
constantPattern(
) → Parser< ConstantPatternNode> -
Constant pattern (literals, const expressions, identifier constants).
inherited
-
constructorBodyOrInitializers(
) → Parser< (List< ConstructorInitializerNode> , FunctionBodyNode?, String?)> -
inherited
-
constructorDeclaration(
) → Parser< ConstructorDeclarationNode> -
inherited
-
constructorIdentifier(
) → Parser< String> -
inherited
-
constructorInitializer(
) → Parser< ConstructorInitializerNode> -
inherited
-
constructorInitializers(
) → Parser< List< ConstructorInitializerNode> > -
inherited
-
constructorInvocation(
) → Parser< InvocationExpressionNode> -
Constructor invocation (
new Foo(...)orconst Foo(...)).inherited -
constructorInvocationWithTypeArguments(
) → Parser< InvocationExpressionNode> -
Constructor invocation without
neworconstthat has type arguments (Foo<int>(...)orFoo<int>.named(...)).inherited -
constToken(
) → Parser< Token< String> > -
inherited
-
continueStatement(
) → Parser< ContinueStatementNode> -
inherited
-
continueToken(
) → Parser< Token< String> > -
inherited
-
covariantToken(
) → Parser< Token< String> > -
inherited
-
dartPattern(
) → Parser< PatternNode> -
The main pattern production.
inherited
-
decimalDigits(
) → Parser< String> -
inherited
-
decimalOrDoubleNumber(
) → Parser< LiteralNode< num> > -
inherited
-
defaultFormalParameter(
) → Parser< ParameterNode> -
inherited
-
defaultNamedFormalParameter(
) → Parser< ParameterNode> -
inherited
-
defaultToken(
) → Parser< Token< String> > -
inherited
-
deferredToken(
) → Parser< Token< String> > -
inherited
-
directive(
) → Parser< DirectiveNode> -
inherited
-
doToken(
) → Parser< Token< String> > -
inherited
-
doWhileStatement(
) → Parser< DoWhileStatementNode> -
inherited
-
dynamicToken(
) → Parser< Token< String> > -
inherited
-
elseToken(
) → Parser< Token< String> > -
inherited
-
emptyStatement(
) → Parser< EmptyStatementNode> -
inherited
-
enumBody(
) → Parser< (List< EnumConstantNode> , List<DeclarationNode> )> -
inherited
-
enumConstant(
) → Parser< EnumConstantNode> -
inherited
-
enumDeclaration(
) → Parser< EnumDeclarationNode> -
inherited
-
enumToken(
) → Parser< Token< String> > -
inherited
-
exponent(
) → Parser< String> -
inherited
-
exportDirective(
) → Parser< ExportDirectiveNode> -
inherited
-
exportToken(
) → Parser< Token< String> > -
inherited
-
expression(
) → Parser< ExpressionNode> -
The main expression production.
inherited
-
expressionBuilderParser(
) → Parser< ExpressionNode> -
Expression builder setup.
inherited
-
expressionElement(
) → Parser< ExpressionElementNode> -
inherited
-
expressionStatement(
) → Parser< ExpressionStatementNode> -
inherited
-
extendsToken(
) → Parser< Token< String> > -
inherited
-
extensionDeclaration(
) → Parser< ExtensionDeclarationNode> -
inherited
-
extensionToken(
) → Parser< Token< String> > -
inherited
-
extensionTypeDeclaration(
) → Parser< ExtensionTypeDeclarationNode> -
inherited
-
externalToken(
) → Parser< Token< String> > -
inherited
-
factoryToken(
) → Parser< Token< String> > -
inherited
-
falseToken(
) → Parser< Token< String> > -
inherited
-
fieldDeclaration(
) → Parser< FieldDeclarationNode> -
inherited
-
fieldFormalParameter(
) → Parser< SimpleParameterNode> -
inherited
-
fieldInitializer(
) → Parser< FieldInitializerNode> -
inherited
-
fieldModifier(
) → Parser< String> -
inherited
-
finallyClause(
) → Parser< BlockStatementNode> -
inherited
-
finallyToken(
) → Parser< Token< String> > -
inherited
-
finalToken(
) → Parser< Token< String> > -
inherited
-
forElement(
) → Parser< CollectionElementNode> -
inherited
-
forLoopParts(
) → Parser< Object> -
Abstract for-loop parts reference needed for collection for-elements.
inherited
-
formalParameterListInternal(
) → Parser< List< ParameterNode> > -
inherited
-
formalParameters(
) → Parser< List< ParameterNode> > -
Parameter list
(...).inherited -
forStatement(
) → Parser< StatementNode> -
inherited
-
forToken(
) → Parser< Token< String> > -
inherited
-
functionBody(
) → Parser< FunctionBodyNode> -
inherited
-
functionDeclaration(
) → Parser< FunctionDeclarationNode> -
Abstract declaration for function declarations defined in DartDeclarationGrammar.
inherited
-
functionDeclarationStatement(
) → Parser< FunctionDeclarationStatementNode> -
A function declaration used as a statement.
inherited
-
functionExpression(
) → Parser< FunctionExpressionNode> -
inherited
-
functionToken(
) → Parser< Token< String> > -
inherited
-
functionTypedFormalParameter(
) → Parser< FunctionTypedParameterNode> -
inherited
-
getterDeclaration(
) → Parser< FunctionDeclarationNode> -
inherited
-
getToken(
) → Parser< Token< String> > -
inherited
-
hashbang(
) → Parser< String> -
inherited
-
hexDigits(
) → Parser< String> -
inherited
-
hexNumber(
) → Parser< IntegerLiteralNode> -
inherited
-
inherited
-
inherited
-
hideToken(
) → Parser< Token< String> > -
inherited
-
identifier(
) → Parser< String> -
A standard Dart identifier.
inherited
-
identifierExpression(
) → Parser< IdentifierNode> -
inherited
-
identifierPart(
) → Parser< String> -
inherited
-
identifierStart(
) → Parser< String> -
inherited
-
ifCondition(
) → Parser< (ExpressionNode, PatternNode?, ExpressionNode?)> -
inherited
-
ifElement(
) → Parser< IfElementNode> -
inherited
-
ifStatement(
) → Parser< IfStatementNode> -
inherited
-
ifToken(
) → Parser< Token< String> > -
inherited
-
implementsToken(
) → Parser< Token< String> > -
inherited
-
importDirective(
) → Parser< ImportDirectiveNode> -
inherited
-
importToken(
) → Parser< Token< String> > -
inherited
-
interfaceToken(
) → Parser< Token< String> > -
inherited
-
interpolatedString(
) → Parser< ExpressionNode> -
String interpolation: simple
$fooor${expression}.inherited -
interpolationIdentifier(
) → Parser< String> -
inherited
-
inToken(
) → Parser< Token< String> > -
inherited
-
isToken(
) → Parser< Token< String> > -
inherited
-
keyword(
String name) → Parser< Token< String> > -
Helper for keywords that must not be followed by an identifier character.
inherited
-
labeledStatement(
) → Parser< LabeledStatementNode> -
inherited
-
lateToken(
) → Parser< Token< String> > -
inherited
-
libraryDirective(
) → Parser< LibraryDirectiveNode> -
inherited
-
libraryToken(
) → Parser< Token< String> > -
inherited
-
listPattern(
) → Parser< ListPatternNode> -
List pattern (
[a, b, ...rest]).inherited -
listPatternElement(
) → Parser< PatternNode> -
inherited
-
literal(
) → Parser< ExpressionNode> -
inherited
-
logicalAndPattern(
) → Parser< PatternNode> -
Logical-AND pattern (
p1 && p2).inherited -
logicalOrPattern(
) → Parser< PatternNode> -
Logical-OR pattern (
p1 || p2).inherited -
mapEntryElement(
) → Parser< MapEntryElementNode> -
inherited
-
mapPattern(
) → Parser< MapPatternNode> -
Map pattern (
{'a': 1, 'b': var x}).inherited -
mapPatternEntry(
) → Parser< MapPatternEntryNode> -
inherited
-
metadata(
) → Parser< AnnotationNode> -
inherited
-
metadataList(
) → Parser< List< AnnotationNode> > -
Abstract metadata reference.
inherited
-
methodBody(
) → Parser< FunctionBodyNode> -
inherited
-
methodModifier(
) → Parser< String> -
inherited
-
methodOrFunctionDeclaration(
) → Parser< FunctionDeclarationNode> -
inherited
-
mixinDeclaration(
) → Parser< MixinDeclarationNode> -
inherited
-
mixinToken(
) → Parser< Token< String> > -
inherited
-
multiLineComment(
) → Parser< String> -
inherited
-
namedType(
) → Parser< NamedTypeNode> -
A named type with optional generics and nullability (
int,List<String>?).inherited -
namedTypeWithoutNullable(
) → Parser< NamedTypeNode> -
A named type without trailing
?.inherited -
newToken(
) → Parser< Token< String> > -
inherited
-
nonFunctionType(
) → Parser< TypeNode> -
A type that is not an unparenthesized function type.
inherited
-
nonFunctionTypeWithoutNullable(
) → Parser< TypeNode> -
A non-function type without a trailing
?.inherited -
normalFormalParameter(
) → Parser< ParameterNode> -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
nullLiteral(
) → Parser< NullLiteralNode> -
inherited
-
nullToken(
) → Parser< Token< String> > -
inherited
-
numericLiteral(
) → Parser< LiteralNode< num> > -
inherited
-
objectPattern(
) → Parser< ObjectPatternNode> -
Object pattern (
Point(x: var x, y: 0)).inherited -
ofToken(
) → Parser< Token< String> > -
inherited
-
onToken(
) → Parser< Token< String> > -
inherited
-
operatorDeclaration(
) → Parser< FunctionDeclarationNode> -
inherited
-
operatorToken(
) → Parser< Token< String> > -
inherited
-
optionalNamedFormalParameters(
) → Parser< List< ParameterNode> > -
inherited
-
optionalPositionalFormalParameters(
) → Parser< List< ParameterNode> > -
inherited
-
outerPattern(
) → Parser< PatternNode> -
Outer pattern for pattern variable declarations:
(a, b),[a, b],{'k': v},Foo(a: b).inherited -
parenthesizedOrRecordLiteral(
) → Parser< ExpressionNode> -
Parenthesized expression or record literal
(...).inherited -
parenthesizedOrRecordPattern(
) → Parser< PatternNode> -
Parenthesized or record pattern
(...).inherited -
partDirective(
) → Parser< PartDirectiveNode> -
inherited
-
partOfDirective(
) → Parser< PartOfDirectiveNode> -
inherited
-
partToken(
) → Parser< Token< String> > -
inherited
-
patternField(
) → Parser< PatternFieldNode> -
A field inside an object or record pattern (
name: patternor:patternorpattern).inherited -
patternGuard(
) → Parser< ExpressionNode> -
Pattern guard
when expression.inherited -
patternVariableDeclarationStatement(
) → Parser< PatternVariableDeclarationStatementNode> -
inherited
-
patternVariableIdentifier(
) → Parser< String> -
Pattern variable identifier (forbidding
whenkeyword).inherited -
primary(
) → Parser< ExpressionNode> -
inherited
-
primaryPattern(
) → Parser< PatternNode> -
Primary patterns.
inherited
-
qualifiedIdentifier(
) → Parser< String> -
A qualified identifier (
a.b.c).inherited -
rawIdentifier(
) → Parser< String> -
inherited
-
rawStringLiteral(
) → Parser< StringLiteralNode> -
inherited
-
recordLiteralField(
) → Parser< RecordLiteralFieldNode> -
inherited
-
recordType(
) → Parser< RecordTypeNode> -
A record type (
(int, String),({int a, String b}),()).inherited -
recordTypeFields(
) → Parser< (List< RecordTypeFieldNode> , List<RecordTypeFieldNode> )> -
inherited
-
recordTypeNamedField(
) → Parser< RecordTypeFieldNode> -
inherited
-
recordTypeNamedFields(
) → Parser< List< RecordTypeFieldNode> > -
inherited
-
recordTypePositionalField(
) → Parser< RecordTypeFieldNode> -
inherited
-
recordTypeWithoutNullable(
) → Parser< RecordTypeNode> -
A record type without trailing
?.inherited -
redirectingConstructorInitializer(
) → Parser< RedirectingConstructorInitializerNode> -
inherited
-
relationalOrUnaryPattern(
) → Parser< PatternNode> -
inherited
-
relationalPattern(
) → Parser< RelationalPatternNode> -
Relational pattern (
> 5,<= 10,== 0,!= null).inherited -
requiredToken(
) → Parser< Token< String> > -
inherited
-
restPattern(
) → Parser< RestPatternNode> -
inherited
-
rethrowStatement(
) → Parser< RethrowStatementNode> -
inherited
-
rethrowToken(
) → Parser< Token< String> > -
inherited
-
returnStatement(
) → Parser< ReturnStatementNode> -
inherited
-
returnToken(
) → Parser< Token< String> > -
inherited
-
sealedToken(
) → Parser< Token< String> > -
inherited
-
setterDeclaration(
) → Parser< FunctionDeclarationNode> -
inherited
-
setToken(
) → Parser< Token< String> > -
inherited
-
showToken(
) → Parser< Token< String> > -
inherited
-
simpleFormalParameter(
) → Parser< SimpleParameterNode> -
inherited
-
simpleStringLiteral(
) → Parser< StringLiteralNode> -
inherited
-
singleLineComment(
) → Parser< String> -
inherited
-
singleStringLiteral(
) → Parser< ExpressionNode> -
inherited
-
spreadElement(
) → Parser< SpreadElementNode> -
inherited
-
start(
) → Parser< CompilationUnitNode> - Returns the starting production of this definition.
-
statement(
) → Parser< StatementNode> -
The main statement production.
inherited
-
staticToken(
) → Parser< Token< String> > -
inherited
-
stringInterpolationContentDouble(
) → Parser< DartNode> -
inherited
-
stringInterpolationContentMultiDouble(
) → Parser< DartNode> -
inherited
-
stringInterpolationContentMultiSingle(
) → Parser< DartNode> -
inherited
-
stringInterpolationContentSingle(
) → Parser< DartNode> -
inherited
-
stringLiteral(
) → Parser< ExpressionNode> -
inherited
-
superConstructorInitializer(
) → Parser< SuperConstructorInitializerNode> -
inherited
-
superExpression(
) → Parser< SuperExpressionNode> -
inherited
-
superToken(
) → Parser< Token< String> > -
inherited
-
switchCase(
) → Parser< SwitchPatternCaseNode> -
inherited
-
switchExpression(
) → Parser< SwitchExpressionNode> -
inherited
-
switchExpressionCase(
) → Parser< SwitchExpressionCaseNode> -
inherited
-
switchStatement(
) → Parser< SwitchStatementNode> -
inherited
-
switchToken(
) → Parser< Token< String> > -
inherited
-
symbolLiteral(
) → Parser< SymbolLiteralNode> -
inherited
-
syncToken(
) → Parser< Token< String> > -
inherited
-
thisExpression(
) → Parser< ThisExpressionNode> -
inherited
-
thisToken(
) → Parser< Token< String> > -
inherited
-
throwToken(
) → Parser< Token< String> > -
inherited
-
token<
T> (Object input) → Parser< Token< T> > -
Helper to convert a string or parser into a trimmed token.
inherited
-
topLevelDefinition(
) → Parser< DeclarationNode> -
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
trueToken(
) → Parser< Token< String> > -
inherited
-
tryStatement(
) → Parser< TryStatementNode> -
inherited
-
tryToken(
) → Parser< Token< String> > -
inherited
-
type(
) → Parser< TypeNode> -
The main type production.
inherited
-
typeAliasDeclaration(
) → Parser< TypeAliasDeclarationNode> -
inherited
-
typeArguments(
) → Parser< List< TypeNode> > -
Type arguments list (
<int, String>).inherited -
typedefToken(
) → Parser< Token< String> > -
inherited
-
typeList(
) → Parser< List< TypeNode> > -
inherited
-
typeParameter(
) → Parser< TypeParameterNode> -
A single type parameter (
T extends S).inherited -
typeParameters(
) → Parser< List< TypeParameterNode> > -
Type parameters declaration (
<T extends Object, U>).inherited -
typeTestNullableSuffix(
) → Parser< Token> -
Lookahead for trailing
?intypeTestTypethat is NOT part of a ternary? :.inherited -
typeTestType(
) → Parser< TypeNode> -
A type used in type tests and type casts (
is,is!,as), where the outermost type can have a trailing?if not followed by an expression (disambiguating against ternary conditional? :).inherited -
typeToken(
) → Parser< Token< String> > -
inherited
-
unaryPattern(
) → Parser< PatternNode> -
Unary / postfix pattern (
p as T,p?,p!).inherited -
userDefinableOperator(
) → Parser< String> -
inherited
-
variableDeclaration(
) → Parser< VariableDeclarationStatementNode> -
inherited
-
variableDeclarationStatement(
) → Parser< VariableDeclarationStatementNode> -
inherited
-
variableDeclarator(
) → Parser< VariableDeclaratorNode> -
inherited
-
variablePattern(
) → Parser< VariablePatternNode> -
Variable pattern (
var x,final x,final int x,int x).inherited -
varToken(
) → Parser< Token< String> > -
inherited
-
visibleWhitespace(
) → Parser< String> -
inherited
-
voidToken(
) → Parser< Token< String> > -
inherited
-
voidType(
) → Parser< TypeNode> -
A
voidtype.inherited -
whenToken(
) → Parser< Token< String> > -
inherited
-
whileStatement(
) → Parser< WhileStatementNode> -
inherited
-
whileToken(
) → Parser< Token< String> > -
inherited
-
wildcardPattern(
) → Parser< WildcardPatternNode> -
Wildcard pattern (
_orType _).inherited -
wildcardToken(
) → Parser< Token< String> > -
Wildcard token (
_not followed by identifier characters).inherited -
withToken(
) → Parser< Token< String> > -
inherited
-
yieldStatement(
) → Parser< YieldStatementNode> -
inherited
-
yieldToken(
) → Parser< Token< String> > -
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited