Parser.parseDeclaration

Parses a Declaration

class Parser
parseDeclaration
(
bool strict = false
,
bool mustBeDeclaration = false
,
bool inTemplateDeclaration = false
)

Parameters

strict bool

if true, do not return partial AST nodes on errors.

mustBeDeclaration bool

do not parse as a declaration if it could be parsed as a function call

inTemplateDeclaration bool

if this function is called from a templated context

$(GRAMMAR $(RULEDEF declaration): $(RULE attribute)* $(RULE declaration2) | $(RULE attribute)+ $(LITERAL '{') $(RULE declaration)* $(LITERAL '}') ; $(RULEDEF declaration2): $(RULE aliasDeclaration) | $(RULR aliasAssign) | $(RULE aliasThisDeclaration) | $(RULE anonymousEnumDeclaration) | $(RULE attributeDeclaration) | $(RULE classDeclaration) | $(RULE conditionalDeclaration) | $(RULE constructor) | $(RULE debugSpecification) | $(RULE destructor) | $(RULE enumDeclaration) | $(RULE eponymousTemplateDeclaration) | $(RULE functionDeclaration) | $(RULE importDeclaration) | $(RULE interfaceDeclaration) | $(RULE invariant) | $(RULE mixinDeclaration) | $(RULE mixinTemplateDeclaration) | $(RULE pragmaDeclaration) | $(RULE sharedStaticConstructor) | $(RULE sharedStaticDestructor) | $(RULE staticAssertDeclaration) | $(RULE staticConstructor) | $(RULE staticDestructor) | $(RULE structDeclaration) | $(RULE templateDeclaration) | $(RULE unionDeclaration) | $(RULE unittest) | $(RULE variableDeclaration) | $(RULE versionSpecification) ;)

Meta