Home

# Porting

This describes how applications using recoder 0.75 must be changed in order to use 0.80

- Identifier now has NonTerminalProgramElement instead of NamedProgramElement as parent
- JavaDeclaration.getModifiers() now returns an unmodifiable copy of the modifiers without annotations. setModifiers() has been removed. Use getDeclarationSpecifiers() and setDeclarationSpecifiers() instead.

# Coding

This describes (very, very) shortly how to implement adding a new model element. At this time, this is useful for people working on the core of recoder only, namely as a simple and absolutely incomplete reminder of what to look at during development. Check back later for useful information...

- in class, make sure:
  - the constructors are being adapted, maybe new ones created
  - makeParentRoleValid()
  - getChildPositionCode() (also see next list item)
  - getIndexOfChild()
  - getChildCount()
  - getChildAt() - child elements need to be reported in syntactical order!
  - replaceChild() - make sure that if p == null => NullPointerException
- ChangeHistory
  - undo() needs to be adjusted