Skip to content

JParseCode 0.23.0

Compare
Choose a tag to compare
@TeamworkGuy2 TeamworkGuy2 released this 28 Jun 23:18
· 2 commits to master since this release

Added

  • Lots of additional unit tests
  • TypeExtractor.isSimpleLiteral() used to determine whether a FieldDef.initializer should be serialized as a literal value "initializer" or an "initializerExpression"

Changed

  • FieldExtractor now parses field default value assignments and returns FieldDef instead of FieldSig (FieldDef contains initializer field)
  • FieldExtractor constructor requires a new 3rd parameter, an OperatorUtil<>
  • ClassAst remove T_ENUM type parameter, enum members in a parsed enum will be represented by T_FIELD
  • FieldDef.initializerToJson() signature changed significantly to support new multiple token initializer expressions
  • AccessModifierParser and AccessModifierEnum removed parseFromSrc(), cleaned up code, added documentation
  • AccessModifierParser tryParseFromSrc(String) and defaultAccessModifier(String, ...) modified to takes List<String> for correctness and to simplify call sites
  • AstExtractor.createFieldParser() and implementations (CsBlock and JavaBlock) now return AstParser<List<FieldDef>> instead of ...FieldSig
  • BlockUtil parseKeyword() and tryParseKeyword() replaced with tryToBlock()
  • CsBlockParser._extractBlocksFromTree() renamed extractBlocksFromTree() (which was already public)
  • AstParser added blockComplete() with empty default implementation, will be called by BlockExtractor

Removed

  • Merged FieldSig and FieldSigResolved into FieldDef and FieldDefResolved

Fixed

  • C# annotation parsing fixed to handle multiple annotations in the same block, i.e. '[Annotation(One), Annotation(Two), ...]'
  • An issue with nested classes/interfaces getting assigned the incorrect access modifiers
  • An issue with complex generic type parsing