- abandonBookmark
void abandonBookmark(Bookmark )
Undocumented in source. Be warned that the author may not have intended to support it.
- advance
Token advance()
Advances to the next token and returns the current token
- attachCommentFromSemicolon
T attachCommentFromSemicolon(T node, size_t startIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
- current
Token current()
- currentIs
bool currentIs(IdType type)
- currentIsMemberFunctionAttribute
bool currentIsMemberFunctionAttribute()
Undocumented in source. Be warned that the author may not have intended to support it.
- currentIsOneOf
bool currentIsOneOf(IdType[] types)
- error
void error(string message, bool shouldAdvance)
Undocumented in source. Be warned that the author may not have intended to support it.
- expect
const(Token)* expect(IdType type)
- goToBookmark
void goToBookmark(Bookmark bookmark)
Undocumented in source. Be warned that the author may not have intended to support it.
- hasMagicDelimiter
bool hasMagicDelimiter()
Undocumented in source. Be warned that the author may not have intended to support it.
- isAssociativeArrayLiteral
bool isAssociativeArrayLiteral()
Undocumented in source. Be warned that the author may not have intended to support it.
- isAttribute
bool isAttribute()
Undocumented in source. Be warned that the author may not have intended to support it.
- isAutoDeclaration
DecType isAutoDeclaration(size_t beginIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
- isCastQualifier
bool isCastQualifier()
Undocumented in source. Be warned that the author may not have intended to support it.
- isDeclaration
bool isDeclaration()
Undocumented in source. Be warned that the author may not have intended to support it.
- isStorageClass
bool isStorageClass()
Undocumented in source. Be warned that the author may not have intended to support it.
- isType
bool isType()
Only use this in template parameter parsing
- moreTokens
bool moreTokens()
- ownArray
void ownArray(T[] arr, StackBuffer sb)
Undocumented in source. Be warned that the author may not have intended to support it.
- parseAddExpression
ExpressionNode parseAddExpression()
- parseAliasAssign
AliasAssign parseAliasAssign()
- parseAliasDeclaration
AliasDeclaration parseAliasDeclaration()
Parses an AliasDeclaration.
- parseAliasInitializer
AliasInitializer parseAliasInitializer()
Parses an AliasInitializer.
- parseAliasThisDeclaration
AliasThisDeclaration parseAliasThisDeclaration()
Parses an AliasThisDeclaration.
- parseAlignAttribute
AlignAttribute parseAlignAttribute()
Parses an AlignAttribute.
- parseAndAndExpression
ExpressionNode parseAndAndExpression()
Parses an AndAndExpression.
- parseAndExpression
ExpressionNode parseAndExpression()
- parseAnonymousEnumDeclaration
AnonymousEnumDeclaration parseAnonymousEnumDeclaration()
$(GRAMMAR $(RULEDEF anonymousEnumDeclaration):
$(LITERAL 'enum') ($(LITERAL ':') $(RULE type))? $(LITERAL '{') $(RULE anonymousEnumMember)+ $(LITERAL '}')
;)
- parseAnonymousEnumMember
AnonymousEnumMember parseAnonymousEnumMember(bool typeAllowed)
$(GRAMMAR $(RULEDEF anonymousEnumMember):
$(RULE type) $(LITERAL identifier) $(LITERAL '=') $(RULE assignExpression)
| $(LITERAL identifier) $(LITERAL '=') $(RULE assignExpression)
| $(LITERAL identifier)
;)
- parseArgumentList
ArgumentList parseArgumentList()
- parseArguments
Arguments parseArguments()
- parseArrayInitializer
ArrayInitializer parseArrayInitializer()
Parses an ArrayInitializer.
- parseArrayLiteral
ArrayLiteral parseArrayLiteral()
- parseArrayMemberInitialization
ArrayMemberInitialization parseArrayMemberInitialization()
Parses an ArrayMemberInitialization.
- parseAsmAddExp
ExpressionNode parseAsmAddExp()
- parseAsmAndExp
ExpressionNode parseAsmAndExp()
- parseAsmBrExp
AsmBrExp parseAsmBrExp()
- parseAsmEqualExp
ExpressionNode parseAsmEqualExp()
- parseAsmExp
ExpressionNode parseAsmExp()
- parseAsmInstruction
AsmInstruction parseAsmInstruction(bool maybeGccASm)
- parseAsmLogAndExp
ExpressionNode parseAsmLogAndExp()
- parseAsmLogOrExp
ExpressionNode parseAsmLogOrExp()
- parseAsmMulExp
ExpressionNode parseAsmMulExp()
- parseAsmOrExp
ExpressionNode parseAsmOrExp()
- parseAsmPrimaryExp
AsmPrimaryExp parseAsmPrimaryExp()
- parseAsmRelExp
ExpressionNode parseAsmRelExp()
- parseAsmShiftExp
ExpressionNode parseAsmShiftExp()
- parseAsmStatement
AsmStatement parseAsmStatement()
- parseAsmTypePrefix
AsmTypePrefix parseAsmTypePrefix()
- parseAsmUnaExp
AsmUnaExp parseAsmUnaExp()
- parseAsmXorExp
ExpressionNode parseAsmXorExp()
- parseAssertArguments
AssertArguments parseAssertArguments()
Parses an AssertArguments
- parseAssertExpression
AssertExpression parseAssertExpression()
Parses an AssertExpression
- parseAssignExpression
ExpressionNode parseAssignExpression()
Parses an AssignExpression
- parseAssocArrayLiteral
AssocArrayLiteral parseAssocArrayLiteral()
Parses an AssocArrayLiteral
- parseAtAttribute
AtAttribute parseAtAttribute()
- parseAttribute
Attribute parseAttribute()
- parseAttributeDeclaration
AttributeDeclaration parseAttributeDeclaration(Attribute attribute)
Parses an AttributeDeclaration
- parseAutoDeclaration
AutoDeclaration parseAutoDeclaration()
Parses an AutoDeclaration
- parseAutoDeclarationPart
AutoDeclarationPart parseAutoDeclarationPart()
Parses an AutoDeclarationPart
- parseBaseClass
BaseClass parseBaseClass()
- parseBaseClassList
BaseClassList parseBaseClassList()
- parseBlockStatement
BlockStatement parseBlockStatement()
- parseBreakStatement
BreakStatement parseBreakStatement()
- parseBuiltinType
IdType parseBuiltinType()
- parseCaseRangeStatement
CaseRangeStatement parseCaseRangeStatement(ExpressionNode low)
Parses a CaseRangeStatement
- parseCaseStatement
CaseStatement parseCaseStatement(ArgumentList argumentList)
- parseCastExpression
CastExpression parseCastExpression()
- parseCastQualifier
CastQualifier parseCastQualifier()
- parseCatch
Catch parseCatch()
- parseCatches
Catches parseCatches()
- parseClassDeclaration
ClassDeclaration parseClassDeclaration()
Parses a ClassDeclaration
- parseCmpExpression
ExpressionNode parseCmpExpression()
- parseCommaSeparatedRule
ListType parseCommaSeparatedRule(bool allowTrailingComma)
Undocumented in source. Be warned that the author may not have intended to support it.
- parseCompileCondition
CompileCondition parseCompileCondition()
Parses a CompileCondition
- parseConditionalDeclaration
ConditionalDeclaration parseConditionalDeclaration(bool strict, bool inTemplateDeclaration)
Parses a ConditionalDeclaration
- parseConditionalStatement
ConditionalStatement parseConditionalStatement()
Parses a ConditionalStatement
- parseConstraint
Constraint parseConstraint()
- parseConstructor
Constructor parseConstructor()
- parseContinueStatement
ContinueStatement parseContinueStatement()
Parses an ContinueStatement
- parseDebugCondition
DebugCondition parseDebugCondition()
- parseDebugSpecification
DebugSpecification parseDebugSpecification()
Parses a DebugSpecification
- parseDeclaration
Declaration parseDeclaration(bool strict, bool mustBeDeclaration, bool inTemplateDeclaration)
- parseDeclarationOrStatement
DeclarationOrStatement parseDeclarationOrStatement()
Parses a DeclarationOrStatement
- parseDeclarationsAndStatements
DeclarationsAndStatements parseDeclarationsAndStatements(bool includeCases)
Parses DeclarationsAndStatements
- parseDeclarator
Declarator parseDeclarator()
- parseDeclaratorIdentifierList
DeclaratorIdentifierList parseDeclaratorIdentifierList()
Parses a DeclaratorIdentifierList
- parseDefaultStatement
DefaultStatement parseDefaultStatement()
Parses a DefaultStatement
- parseDeleteExpression
DeleteExpression parseDeleteExpression()
Parses a DeleteExpression
- parseDeprecated
Deprecated parseDeprecated()
Parses a Deprecated attribute
- parseDestructor
Destructor parseDestructor()
- parseDoStatement
DoStatement parseDoStatement()
- parseEnumBody
EnumBody parseEnumBody()
- parseEnumDeclaration
EnumDeclaration parseEnumDeclaration()
Parses an EnumDeclaration
- parseEnumMember
EnumMember parseEnumMember()
- parseEnumMemberAttribute
EnumMemberAttribute parseEnumMemberAttribute()
Parses an EnumMemberAttribute
- parseEponymousTemplateDeclaration
EponymousTemplateDeclaration parseEponymousTemplateDeclaration()
Parses an EponymousTemplateDeclaration
- parseEqualExpression
EqualExpression parseEqualExpression(ExpressionNode shift)
Parses an EqualExpression
- parseExpression
Expression parseExpression()
- parseExpressionStatement
ExpressionStatement parseExpressionStatement(Expression expression)
Parses an ExpressionStatement
- parseFinalSwitchStatement
FinalSwitchStatement parseFinalSwitchStatement()
Parses a FinalSwitchStatement
- parseFinally
Finally parseFinally()
- parseForStatement
ForStatement parseForStatement()
- parseForeach
Foreach!declOnly parseForeach(bool inTemplateDeclaration)
Undocumented in source. Be warned that the author may not have intended to support it.
- parseForeachStatement
ForeachStatement parseForeachStatement()
Parses a ForeachStatement
- parseForeachType
ForeachType parseForeachType()
- parseForeachTypeList
ForeachTypeList parseForeachTypeList()
- parseFunctionAttribute
FunctionAttribute parseFunctionAttribute(bool validate)
Parses a FunctionAttribute
- parseFunctionBody
FunctionBody parseFunctionBody()
Parses a FunctionBody.
Note that any change of this function must also be applied in dsymbol SimpleParser, which can be found
here.
- parseFunctionCallExpression
FunctionCallExpression parseFunctionCallExpression(UnaryExpression unary)
Parses a FunctionCallExpression
- parseFunctionContract
FunctionContract parseFunctionContract()
Parses a FunctionContract
- parseFunctionDeclaration
FunctionDeclaration parseFunctionDeclaration(Type type, bool isAuto, Attribute[] attributes)
Parses a FunctionDeclaration
- parseFunctionLiteralExpression
FunctionLiteralExpression parseFunctionLiteralExpression()
Parses a FunctionLiteralExpression
- parseGccAsmInstruction
GccAsmInstruction parseGccAsmInstruction()
Parses an AsmInstruction using GCC Assembler
- parseGccAsmOperand
GccAsmOperand parseGccAsmOperand()
- parseGccAsmOperandList
GccAsmOperandList parseGccAsmOperandList()
Parses a GccAsmOperandList
- parseGotoStatement
GotoStatement parseGotoStatement()
- parseIdentifierChain
IdentifierChain parseIdentifierChain()
Parses an IdentifierChain
- parseIdentifierOrTemplateChain
IdentifierOrTemplateChain parseIdentifierOrTemplateChain()
Parses an IdentifierOrTemplateChain
- parseIdentifierOrTemplateInstance
IdentifierOrTemplateInstance parseIdentifierOrTemplateInstance()
Parses an IdentifierOrTemplateInstance
- parseIdentityExpression
ExpressionNode parseIdentityExpression(ExpressionNode shift)
Parses an IdentityExpression
- parseIfStatement
IfStatement parseIfStatement()
- parseImportBind
ImportBind parseImportBind()
- parseImportBindings
ImportBindings parseImportBindings(SingleImport singleImport)
- parseImportDeclaration
ImportDeclaration parseImportDeclaration()
Parses an ImportDeclaration
- parseImportExpression
ImportExpression parseImportExpression()
Parses an ImportExpression
- parseInContractExpression
InContractExpression parseInContractExpression()
Parses an InContractExpression
- parseInExpression
ExpressionNode parseInExpression(ExpressionNode shift)
- parseInOutContractExpression
InOutContractExpression parseInOutContractExpression()
Parses an InOutContractExpression
- parseInOutStatement
InOutStatement parseInOutStatement()
- parseInStatement
InStatement parseInStatement()
- parseIndex
Index parseIndex()
- parseIndexExpression
IndexExpression parseIndexExpression(UnaryExpression unaryExpression)
Parses an IndexExpression
- parseInitializer
Initializer parseInitializer()
- parseInterfaceDeclaration
InterfaceDeclaration parseInterfaceDeclaration()
Parses an InterfaceDeclaration
- parseInterfaceOrClass
N parseInterfaceOrClass(N node, size_t startIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
- parseInvariant
Invariant parseInvariant()
- parseIsExpression
IsExpression parseIsExpression()
- parseKeyValuePair
KeyValuePair parseKeyValuePair()
- parseKeyValuePairs
KeyValuePairs parseKeyValuePairs()
- parseLabeledStatement
LabeledStatement parseLabeledStatement()
Parses a LabeledStatement
- parseLastCatch
LastCatch parseLastCatch()
- parseLeftAssocBinaryExpression
ExpressionNode parseLeftAssocBinaryExpression(ExpressionNode part)
Undocumented in source. Be warned that the author may not have intended to support it.
- parseLinkageAttribute
LinkageAttribute parseLinkageAttribute()
Parses a LinkageAttribute
- parseMemberFunctionAttribute
MemberFunctionAttribute parseMemberFunctionAttribute()
Parses a MemberFunctionAttribute
- parseMissingFunctionBody
MissingFunctionBody parseMissingFunctionBody()
Parses a MissingFunctionBody
- parseMixinDeclaration
MixinDeclaration parseMixinDeclaration()
Parses a MixinDeclaration
- parseMixinExpression
MixinExpression parseMixinExpression()
- parseMixinTemplateDeclaration
MixinTemplateDeclaration parseMixinTemplateDeclaration()
Parses a MixinTemplateDeclaration
- parseMixinTemplateName
MixinTemplateName parseMixinTemplateName()
Parses a MixinTemplateName
- parseModule
Module parseModule()
- parseModuleDeclaration
ModuleDeclaration parseModuleDeclaration()
Parses a ModuleDeclaration
- parseMulExpression
ExpressionNode parseMulExpression()
- parseNamespaceList
NamespaceList parseNamespaceList()
- parseNewAnonClassExpression
NewAnonClassExpression parseNewAnonClassExpression()
Parses a NewAnonClassExpression
- parseNewExpression
NewExpression parseNewExpression()
- parseNonVoidInitializer
NonVoidInitializer parseNonVoidInitializer()
Parses a NonVoidInitializer
- parseOperands
Operands parseOperands()
- parseOrExpression
ExpressionNode parseOrExpression()
- parseOrOrExpression
ExpressionNode parseOrOrExpression()
- parseOutContractExpression
OutContractExpression parseOutContractExpression()
Parses an OutContractExpression
- parseOutStatement
OutStatement parseOutStatement()
- parseParameter
Parameter parseParameter()
- parseParameterAttribute
ParameterAttribute parseParameterAttribute(bool validate)
Parses a ParameterAttribute
- parseParameters
Parameters parseParameters()
- parsePostblit
Postblit parsePostblit()
- parsePowExpression
ExpressionNode parsePowExpression()
- parsePragmaDeclaration
PragmaDeclaration parsePragmaDeclaration()
Parses a PragmaDeclaration
- parsePragmaExpression
PragmaExpression parsePragmaExpression()
Parses a PragmaExpression
- parsePragmaStatement
PragmaStatement parsePragmaStatement()
- parsePrimaryExpression
PrimaryExpression parsePrimaryExpression()
Parses a PrimaryExpression
- parseRegister
Register parseRegister()
- parseRelExpression
ExpressionNode parseRelExpression(ExpressionNode shift)
- parseReturnStatement
ReturnStatement parseReturnStatement()
- parseScopeGuardStatement
ScopeGuardStatement parseScopeGuardStatement()
Parses a ScopeGuardStatement
- parseSharedStaticConstructor
SharedStaticConstructor parseSharedStaticConstructor()
Parses a SharedStaticConstructor
- parseSharedStaticDestructor
SharedStaticDestructor parseSharedStaticDestructor()
Parses a SharedStaticDestructor
- parseShiftExpression
ExpressionNode parseShiftExpression()
- parseSingleImport
SingleImport parseSingleImport()
- parseSpecifiedFunctionBody
SpecifiedFunctionBody parseSpecifiedFunctionBody()
Parses a SpecifiedFunctionBody
- parseStatement
Statement parseStatement()
- parseStatementNoCaseNoDefault
StatementNoCaseNoDefault parseStatementNoCaseNoDefault()
Parses a StatementNoCaseNoDefault
- parseStaticAssertDeclaration
StaticAssertDeclaration parseStaticAssertDeclaration()
Parses a StaticAssertDeclaration
- parseStaticAssertStatement
StaticAssertStatement parseStaticAssertStatement()
Parses a StaticAssertStatement
- parseStaticConstructor
StaticConstructor parseStaticConstructor()
Parses a StaticConstructor
- parseStaticCtorDtorCommon
N parseStaticCtorDtorCommon(N node, size_t startIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
- parseStaticDestructor
StaticDestructor parseStaticDestructor()
Parses a StaticDestructor
- parseStaticForeachDeclaration
StaticForeachDeclaration parseStaticForeachDeclaration(bool inTemplateDeclaration)
Parses a StaticForeachDeclaration
- parseStaticForeachStatement
StaticForeachStatement parseStaticForeachStatement()
Parses a StaticForeachStatement
- parseStaticIfCondition
StaticIfCondition parseStaticIfCondition()
Parses an StaticIfCondition
- parseStorageClass
StorageClass parseStorageClass()
- parseStructBody
StructBody parseStructBody()
- parseStructDeclaration
StructDeclaration parseStructDeclaration()
Parses a StructDeclaration
- parseStructInitializer
StructInitializer parseStructInitializer()
Parses an StructInitializer
- parseStructMemberInitializer
StructMemberInitializer parseStructMemberInitializer()
Parses a StructMemberInitializer
- parseStructMemberInitializers
StructMemberInitializers parseStructMemberInitializers()
Parses StructMemberInitializers
- parseSwitchStatement
SwitchStatement parseSwitchStatement()
- parseSymbol
Symbol parseSymbol()
- parseSynchronizedStatement
SynchronizedStatement parseSynchronizedStatement()
Parses a SynchronizedStatement
- parseTemplateAliasParameter
TemplateAliasParameter parseTemplateAliasParameter()
Parses a TemplateAliasParameter
- parseTemplateArgument
TemplateArgument parseTemplateArgument()
Parses a TemplateArgument
- parseTemplateArgumentList
TemplateArgumentList parseTemplateArgumentList()
Parses a TemplateArgumentList
- parseTemplateArguments
TemplateArguments parseTemplateArguments()
- parseTemplateDeclaration
TemplateDeclaration parseTemplateDeclaration()
Parses a TemplateDeclaration
- parseTemplateInstance
TemplateInstance parseTemplateInstance()
Parses a TemplateInstance
- parseTemplateMixinExpression
TemplateMixinExpression parseTemplateMixinExpression()
Parses a TemplateMixinExpression
- parseTemplateParameter
TemplateParameter parseTemplateParameter()
Parses a TemplateParameter
- parseTemplateParameterList
TemplateParameterList parseTemplateParameterList()
Parses a TemplateParameterList
- parseTemplateParameters
TemplateParameters parseTemplateParameters()
Parses TemplateParameters
- parseTemplateSingleArgument
TemplateSingleArgument parseTemplateSingleArgument()
Parses a TemplateSingleArgument
- parseTemplateThisParameter
TemplateThisParameter parseTemplateThisParameter()
Parses a TemplateThisParameter
- parseTemplateTupleParameter
TemplateTupleParameter parseTemplateTupleParameter()
Parses an TemplateTupleParameter
- parseTemplateTypeParameter
TemplateTypeParameter parseTemplateTypeParameter()
Parses a TemplateTypeParameter
- parseTemplateValueParameter
TemplateValueParameter parseTemplateValueParameter()
Parses a TemplateValueParameter
- parseTemplateValueParameterDefault
TemplateValueParameterDefault parseTemplateValueParameterDefault()
Parses a TemplateValueParameterDefault
- parseTernaryExpression
ExpressionNode parseTernaryExpression()
Parses a TernaryExpression
- parseThrowStatement
ThrowStatement parseThrowStatement()
- parseTraitsExpression
TraitsExpression parseTraitsExpression()
Parses an TraitsExpression
- parseTryStatement
TryStatement parseTryStatement()
- parseType
Type parseType()
- parseType2
Type2 parseType2()
- parseTypeConstructor
IdType parseTypeConstructor(bool validate)
- parseTypeConstructors
IdType[] parseTypeConstructors()
- parseTypeIdentifierPart
TypeIdentifierPart parseTypeIdentifierPart()
Parses a TypeIdentifierPart.
- parseTypeSpecialization
TypeSpecialization parseTypeSpecialization()
Parses a TypeSpecialization
- parseTypeSuffix
TypeSuffix parseTypeSuffix()
- parseTypeidExpression
TypeidExpression parseTypeidExpression()
Parses a TypeidExpression
- parseTypeofExpression
TypeofExpression parseTypeofExpression()
Parses a TypeofExpression
- parseUnaryExpression
UnaryExpression parseUnaryExpression()
- parseUnionDeclaration
UnionDeclaration parseUnionDeclaration()
Parses an UnionDeclaration
- parseUnittest
Unittest parseUnittest()
- parseVariableDeclaration
VariableDeclaration parseVariableDeclaration(Type type, bool isAuto)
Parses a VariableDeclaration
- parseVariadicArgumentsAttribute
ParameterAttribute parseVariadicArgumentsAttribute()
Parses an attribute of C-style variadic parameters.
- parseVariadicArgumentsAttributes
ParameterAttribute[] parseVariadicArgumentsAttributes()
Parses attributes of C-style variadic parameters.
- parseVector
Vector parseVector()
- parseVersionCondition
VersionCondition parseVersionCondition()
Parses a VersionCondition
- parseVersionSpecification
VersionSpecification parseVersionSpecification()
Parses a VersionSpecification
- parseWhileStatement
WhileStatement parseWhileStatement()
- parseWithStatement
WithStatement parseWithStatement()
- parseXorExpression
ExpressionNode parseXorExpression()
- peek
const(Token)* peek()
- peekAre
bool peekAre(IdType[] types)
- peekIs
bool peekIs(IdType t)
- peekIsOneOf
bool peekIsOneOf(IdType[] types)
- peekNIs
bool peekNIs(IdType t, size_t offset)
- peekNIsOneOf
bool peekNIsOneOf(size_t offset, IdType[] types)
- peekPast
const(Token)* peekPast()
Undocumented in source. Be warned that the author may not have intended to support it.
- peekPastBraces
const(Token)* peekPastBraces()
- peekPastBrackets
const(Token)* peekPastBrackets()
- peekPastParens
const(Token)* peekPastParens()
- previous
Token previous()
- setBookmark
Bookmark setBookmark()
Undocumented in source. Be warned that the author may not have intended to support it.
- setTokens
void setTokens(const(Token)[] tokens)
Undocumented in source. Be warned that the author may not have intended to support it.
- skip
bool skip(IdType token)
Skips token if present and returns whether token was skipped
- skip
void skip()
Undocumented in source. Be warned that the author may not have intended to support it.
- skipBraces
void skipBraces()
Undocumented in source. Be warned that the author may not have intended to support it.
- skipBrackets
void skipBrackets()
Undocumented in source. Be warned that the author may not have intended to support it.
- skipParens
void skipParens()
Undocumented in source. Be warned that the author may not have intended to support it.
- startsWith
bool startsWith(IdType[] types)
- suppressedErrorCount
uint suppressedErrorCount()
Undocumented in source. Be warned that the author may not have intended to support it.
- trace
void trace(string message)
Undocumented in source. Be warned that the author may not have intended to support it.
- trace
void trace(string )
Undocumented in source. Be warned that the author may not have intended to support it.
- warn
void warn(string message)
Undocumented in source. Be warned that the author may not have intended to support it.
D Parser.
It is sometimes useful to sub-class Parser to skip over things that are not interesting. For example, DCD skips over function bodies when caching symbols from imported files.