All notable changes to this project will be documented in this file. This project does its best to adhere to Semantic Versioning.
0.23.2 - 2021-08-21
classSignature.comments
parsing and AST output added
0.23.1 - 2021-08-14
- Expanded C# and Java field parsing tests
0.23.0 - 2021-06-28
- Lots of additional unit tests
TypeExtractor.isSimpleLiteral()
used to determine whether aFieldDef.initializer
should be serialized as a literal value"initializer"
or an"initializerExpression"
FieldExtractor
now parses field default value assignments and returnsFieldDef
instead ofFieldSig
(FieldDef
containsinitializer
field)FieldExtractor
constructor requires a new 3rd parameter, anOperatorUtil<>
ClassAst
removeT_ENUM
type parameter, enum members in a parsed enum will be represented byT_FIELD
FieldDef.initializerToJson()
signature changed significantly to support new multiple token initializer expressionsAccessModifierParser
andAccessModifierEnum
removedparseFromSrc()
, cleaned up code, added documentationAccessModifierParser
tryParseFromSrc(String)
anddefaultAccessModifier(String, ...)
modified to takesList<String>
for correctness and to simplify call sitesAstExtractor.createFieldParser()
and implementations (CsBlock
andJavaBlock
) now returnAstParser<List<FieldDef>>
instead of...FieldSig
BlockUtil
parseKeyword()
andtryParseKeyword()
replaced withtryToBlock()
CsBlockParser._extractBlocksFromTree()
renamedextractBlocksFromTree()
(which was already public)AstParser
addedblockComplete()
with empty default implementation, will be called byBlockExtractor
- Merged
FieldSig
andFieldSigResolved
intoFieldDef
andFieldDefResolved
- 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
0.22.0 - 2021-04-18
ProjectClassSet
resolveSimpleName()
in favor of moving the two lines of code to the single calling location
- C# full type name resolution fixed to resolve against the parent namespaces the class resides in (affects types in class signatures, method signatures, and fields)
- Java class signature parsing fixed to support both
extends
andimplements
in the same signature (can't believe I overlooked this and didn't have a unit test!)
0.21.0 - 2020-11-26
Parsing performance optimizations (~15-20%)
- Update dependencies
jtext-tokenizer@0.7.0
andjtext-parser@0.18.0
ParserActionLogger
andParseTimes
optimizations and changes to work withjtext-tokenizer
newTokenizationLogger
JavaFileTokenizer
,CsFileTokenizer
,CommentTokenizer
,IdentifierTokenizer
, andNumberTokenizer
reusable/reusableCharParsers
flag implementation to control whichCharParserMatchableFactory
implementation is usedCodeTokenizer.tokenizeDocument()
fragmentConstructor
parameter optimization to skip creating fragment source string twice, major performance improvement ~5-10%- New aggregate performance logging output for text tokenization related counters
0.20.0 - 2020-11-22
Method generic type parameters parsing support (i.e. 'public T Create()' in C#).
- Method generic type parameters added -
MethodSig
and sub-classes have a newtypeParameters
field. Note: if these 'types' contain lower/upper type bounds these are included in thetypeName
property in Java and are not yet included in C# parsing- Added basic unit tests for this new method generic type parameters parsing support
AstFragType.isBlock(CodeToken, char)
overload for attempted performance optimization
- Renamed
DataTypeExtractor
->TypeExtractor
- Added
EnhancedListIterator
as a replacement forTokenListIterable
to try and simplify fragment iteration since it is a fairly hot section of code in most parsing scenarios ParseTimes.TrackerAction
enums renamed:LOAD
->READ
PARSE
->EXTRACT_AST
- Update dependency jtext-tokenizer@0.6.0 and code to match
- Adjustments to
new CharParserMatchableFactory()
andCharConditions.Identifier.newInstance()
calls inIdentifierTokenizer
andNumberTokenizer
- Adjustments to
- JSON output now excludes empty
annotations
arrays on fields, methods, and parameters - Additional performance log counters added to several methods and printed when performance info is enabled via
-debug
CLI flag
AstFragType.isType()
static method and overloads since they were unused- Unused
CommentTokenizer.createCommentTokenizerForJava()
- An exception being thrown when resolving class names if a file imported a namespace and also imported a child namespace of the first namespace
0.19.2 - 2020-05-23
Parameter varargs parsing support (i.e. 'int...' in Java).
- Update dependency
jtext-parser@0.16.0
andjtext-tokenizer@0.4.0
- Classes combined, class names simplified, and unused classes and methods removed from libraries
- Code identifier parser now provided by
jtext-tokenizer
- Several bug fixes around compound optional parser conditions
- Added
char[] src, int srcOff, int srcLen
parameters toCodeTokenizer.tokenizeDocument()
- Renamed
IdentifierTokenizer
newIdentifierTokenizer()
tocreateIdentifierTokenizer()
- Improved unit tests
IdentifierTokenizer.createIdentifierTokenizer()
0.19.1 - 2020-04-20
- Finish
CommentAndWhitespaceExtractor
and tests for it TextToken
interface now includeshashCode()
andequals(Object)
TextFragmentRefToken
now implementshashCode()
andequals(Object)
- Minor code cleanup, use
StringSplit.split()
withchar
instead ofString
where possible
0.19.0 - 2019-07-04
IdentifierTokenizer.createIdentifierWithGenericTypeTokenizer()
now takes one parameterint maxGenericTypeDepth
- Changed
CsFileTokenizer.createFileParser()
->createCsTokenizers()
andJavaFileTokenizer.createFileParser()
->createJavaTokenizers()
- Added some private constructors that throw AssertionError to static classes
- Changed
GenericTypeTokenizer._createGenericTypeTokenizer()
from public to private - Removed
IdentifierTokenizer
fieldstatic int genericTypeDepth
in favor of callers explicitly passing the argument tocreateIdentifierWithGenericTypeTokenizer()
which now takes one parameterint maxGenericTypeDepth
- Removed
CodeTokenizerBuilder
in favor ofCodeTokenizer
static methods- Manually build a tokenizer list of type
PairList<CharParserFactory, TextTransformer<CodeTokenType>>
- Call
CodeTokenizer.createTokenizer()
with the language you used to pass to theCodeTokenizerBuilder
constructor and the list of tokenizers you manually created
- Manually build a tokenizer list of type
AnnotationExtractor
to handle all C# keyword-followed-by-a-block annotation arguments likedefault(T)
,nameof(T)
, andtypeof(T)
0.18.1 - 2019-07-02
AnnotationExtractor
to handle C#typeof(T)
annotation arguments
0.18.0 - 2019-03-30
- Added
-debug
and-threads #
command line arguments - More detailed debug and log file information
- Renamed
TokenizeStepLogger
->ParserActionLogger
ParseTimes.log()
renamedsetActionTime()
- Simplified and synchronized
PerformanceTrackers
so instance can be shared across threads - Renamed node.js plugin file
plugins/node-js/jparser-tools-cli
->plugins/node-js/jparse-code-cli
and renamed associated test file
- Unused
ScopeType
enum
- Fixed multi-threaded parsing! Handling of FileReadUtil, performance logs, and result lists are now synchronized in
ParserMisc.parseFileSet()
- Update dependency jfile-io@0.8.3 (fix for decoding empty streams/files)
0.17.0 - 2019-03-30
Performance refactor, several libraries updated: JArrays, JCollectionUtil, JFileIo, JTextParser, and JTextTokenizer
- Changed to new
FileReadUtil.readChars(InputStream)
(jfile-io@0.8.2
) - Switched lombok
val
usage to Java 9var
- Added
HashMap<String, *Keyword> keywordSet
field toCsKeyword
andJavaKeyword
for performance - Added some duplicate code in
IdentifierTokenizer
to work with optimizedCharConditions.ContainsFirstSpecial
constructor
0.16.1 - 2019-03-17
- Accidentally deleted compiled *.jar files in 0.16.0 release
0.16.0 - 2019-03-17
- Class signature annotation parsing (in
BlockExtractor
,CsBlockParser
, andJavaBlockParser
)
- Simplified
ProjectClassSet
(removed two unnecessary generic parameters, renamed private fields):- Renamed
resolveSimpleNameToClass()
->resolveClassNameAgainstNamespaces()
- Renamed
resolveSimpleNameToClassSingleNamespace()
->resolveClassNameAgainstNamespace()
- Renamed
- Performance improvements to collection allocations in
NameUtil
andClassSigResolver
- Renamed
AccessModifier
interface toKeyword
PerformanceTrackers.getTopParseTimes()
andgetTopParseStepDetails()
switched first parameter fromjavax.swing.SortOrder
toboolean
- Unused
AstNodeConsumer
andAstNodePredicate
interfaces - Removed lombok.val usage/dependency from several classes and packages in favor of Java 10
var
or actual type.
- Bug in TokenizeStepLogger trying to
StringCase.toCamelCase()
action names
0.15.7 - 2018-09-23
- Updated
CodeTokenizerBuilder.removeChildren()
to useSimpleTreeImpl.removeChildRef()
instead ofremoveChild()
for improved performance - Updated dependencies:
- jcollection-interfaces@0.3.0
- jcollection-util@0.7.5
- jtree-walker@0.2.0
0.15.6 - 2018-09-22
- Parameter default value parsing support added to
MethodParametersParser
- Added
DataTypeExtractor.isDefaultValueLiteral()
to check for field/parameter default values
- Renamed
CsKeyword.Inst
->CsKeyword.CsKeywordUtil
- Renamed
JavaKeyword.Inst
->JavaKeyword.JavaKeywordUtil
- Unit tests changed to use static imports of
TypeAssert.ary()
instead ofnew Object[] {...}
andTypeAssert.ls()
instead ofArrays.asList()
0.15.5 - 2018-09-14
ParserWorkFlow
returns the-help
message if no arguments are given when run
bin/jparse_code.jar
wasn't properly compiled as a runnable jar
0.15.4 - 2018-09-13
- Annotations to parameter signatures (with basic parameter annotation parsing added to
MethodParametersParser.extractParamsFromSignature()
) - Documented DataTypeExtractor methods
- Added/Improved test cases for:
- Class signatures (generics, multiple extend/implement types)
- Generic types with multiple parameters
- Annotations on method parameters
- TODO: fix failing test for default parameters
- Old code from MainParser
CsBlockParser.readClassIdentifierAndExtends()
was incorrectly trying to parsenew {
object initializer blocks as class declarationsDataTypeExtractor
was reversing the parameter order of multi-paremeter generic types
0.15.3 - 2017-12-30
- Update dependency
jtwg2-logging@0.3.0
0.15.2 - 2017-12-22
- Upgrade to Java 9
- Upgrade to JUnit 5
- Fix a minor compile issue found by Java 9 upgrade
0.15.1 - 2017-11-11
- Update dependency
jtext-parser@0.13.0
- Add some test cases
0.15.0 - 2017-10-15
Simplified class names and generic type signatures:
- Changed
AnnotationSig
,BlockAst
,MethodSig
,CodeFileSrc
, andCodeFileParsed
to havepublic final
properties and remove getters - CodeFileSrc
language
property type is nowCodeLanguage
, not a generic type parameter - CodeFileSrc
doc
property renamedastTree
CodeFileParsed
,CodeTokenizerBuilder
,CodeFileParsed
andProjectClassSet
addedIntermediate
implementations to existingSimple
andResolved
implementations with simplified generic type parameters- Split ClassSig
SimpleImpl
andResolvedImpl
into separate files - Split MethodSig
SimpleImpl
andResolvedImpl
into separateMethodSigSimple
andMethodSigResolved
files
0.14.5 - 2017-08-20
- Update dependencies:
jfunc@0.3.0
(Predicates.Char
->CharPredicate
)jtext-parser@0.12.0
(CharParserPredicate
interface instead ofBiPredicates.CharObject<TextParser>
)
0.14.4 - 2017-06-25
- Two more JUnit tests, CsModelParseTest and JavaModelParseTest
- Added unit test helpers: test.twg2.parser.test.utils FieldAssert, MethodAssert, and TypeAssert
- Ensure output write order of parsed file definitions (sorted by fully qualifying name)
- Updated/refactored unit tests to use new unit test helpers
- Renamed unit test helper ParseAnnotationAssert -> AnnotationAssert
0.14.3 - 2017-02-06
- Forgot to remove test code from MainParser
0.14.2 - 2017-02-06
- Removed lombok.val usage/dependency from test classes.
- Fixed parsing C# classes that extend/implement multiple types, unrecognized types are assumed to possibly be interfaces.
- Fixed parsing Java classes that implement multiple types, unrecognized types are assumed to possibly be interfaces.
0.14.1 - 2016-12-03
- Updated dependencies:
jtext-parser@0.11.0
jtext-tokenizer@0.2.0
jparser-primitive@0.2.0
- This includes a new parsing strategy which tries to parse non-compound tokens from start to finish using one parser at a time without passing the characters to compound parser, this improves performance and simplifies some of the compound parsers, but makes some compound parsers more difficult, such as ending conditions that try to keep track of characters between the start and end of the compound parser segment
GenericTypeTokenizer
andIdentifierTokenizer
changes to properly parse nullable generic parameters
0.14.0 - 2016-10-30
Reduced library complexity/scope by moving twg2.parser.text conditions/tokenizers to separate jtext-tokenizer library
- Moved twg2.parser.text package to jtext-tokenizer library
- Moved twg2.parser.Inclusion to jtext-parser library
- Renamed classes *Fragment -> *Token:
- CodeFragment -> CodeToken
- CodeFragmentType -> CodeTokenType
- DocumentFragment -> TextToken and renamed methods:
- getTextFragment() -> getToken()
- getFragmentType() -> getTokenType()
- DocumentFragmentText -> TextFragmentRefToken
- CodeFragmentEnumSubSet -> CodeTokenEnumSubSet
- Renamed twg2.parser.codeParser.tools.performance -> twg2.parser.codeParser.analytics
- TokenizeStepDetails -> TokenizeStepLogger and now implements TypedLogger from jtext-tokenizer library
- Removed twg2.parser.text package (moved to jtext-tokenizer library)
0.13.0 - 2016-10-26
Parameter modifier parsing support (i.e. 'final' in Java or 'params' in C#):
- Added ParameterSig and ParameterSigResolved 'parameterModifiers' field
- Added KeywordUtil parameterModifiers() and isParameterModifier()
- MethodParametersParser.extractParamsFromSignature() to support parameter modifiers
- Renamed CodeTokenizerBuilder addConstParser() -> addParser()
- Added FieldDef.initializerToJson() 'preClosingComma' parameter
- Updated dependencies, specifically jfile-io to 0.7.0 which no longer contains JsonWrite, so added json-stringify library for new equivalent JsonStringify class and updated related code
- Updated toJson() methods to use JsonStringify.inst:
- FieldDef
- FieldDefResolved
- FieldSig
- FieldSigResolver
- MethodSig
- ParameterSig
- ParameterSigResolved
0.12.1 - 2016-10-02
- Updated dependencies, specifically jfile-io to 0.7.0 which no longer contains JsonWrite, so added json-stringify library for new equivalent JsonStringify class and updated related code
0.12.0 - 2016-09-13
- PerformanceTrackers, ParseTimes, TokenizeStepDetails in new twg2.parser.codeParser.tools.performance package - used for tracking performance
- biggest change is switching from jtext-parser's TextIteratorParser (previously: TextParserImpl) to TextCharsParser and files are read as char[] and stored in ParseInput and CodeFileSrc as char[] with offset and length, this will hopefully provide a small performance boost since each file's contents is copied one less time (no more new String(...) copy) and TextCharsParser is designed to take a char[] without any data copying
- second large change is moving the parsing process toward a clearly defined two step process, the first step is called 'tokenization' and the second is called 'parsing/extracting'
- file tokenization logic has been split up. Cs and Java FileTokenizer classes now return CodeTokenizerBuilder instances and CodeTokenizerBuilder contains all the generic logic for running the tokenization process
- updated to new latest dependencies, especially jtext-parser
- moved CodeFragment, DocumentFragment, and DocumentFragmentText from package twg2.parser.documentParser -> twg2.parser.fragment
- moved CodeFileParsed, CodeFileSource, ParseInput, and ParserWorkflow from package twg2.parser.codeParser -> twg2.parser.workflow
- moved/renamed twg2.parser.documentParser.DocumentParser -> twg2.parser.tokenizers.CodeTokenizerBuilder
- moved IsParentChild from package twg2.parser.documentParser -> twg2.parser.tokenizers
- CommentAndWhitespaceExtractor now drops the last trailing newlines from the comment strings
- updated a number of unit tests
0.11.0 - 2016-09-06
- basic C# and Java enum parsing
- Added twg2.ast.interm.field FieldDef and FieldDefResolved to represent enum members (TODO could use some clarification/refactoring)
- Added CsEnumMemberExtractor and JavaEnumMemberExtractor
- Moved duplicate code from class that implemented AstParser into new AstParserReusableBase and AstMemberInClassParserReusable abstract classes (I know the names are a little awkward, suggestions are welcome)
- Added C# and Java unit tests for enum parsing
- Moved duplicate source code parsing logic for tests into new CodeFileAndAst class
- moved and renamed several packages and class names
- twg2.parser.baseAst and sub-packages split and moved to twg2.parser.codeParser and sub-packages
- twg2.parser.baseAst.tools -> twg2.parser.fragment
- twg2.parser.baseAst.CompoundBlock -> twg2.parser.codeParser.BlockType
- CsClassParser -> CsClassTokenizer
- JavaClassParser -> JavaClassTokenizer
- twg2.parser.codeParser.parsers -> twg2.parser.tokenizers and *Parser class name prefix changed to *Tokenizer
- twg2.parser.baseAst and sub-packages split and moved to twg2.parser.codeParser and sub-packages
- AccessModifierExtractor renamed readAccessModifier() -> parseAccessModifier() and readAccessModifierFromIter() -> readAccessModifiers()
- CsBlock and JavaBlock renamed fromKeyword() -> parseKeyword() and tryFromKeyword() -> tryParseKeyword()
- TypeSig renamed nested classes:
- Simple -> TypeSigSimple
- SimpleBaseImpl -> TypeSigSimpleBase
- SimpleGenericImpl -> TypeSigSimpleGeneric
- ResolvedBaseImpl -> TypeSigResolvedBase
- ResolvedGenericImpl -> TypeSigResolvedGeneric
0.10.8 - 2016-09-02
- Updated dependency, switched jparser-data-type-like (now deprecated/removed) to jparse-primitive which is a separate project containing just the primitive parsing code from jparser-data-type-like
- Renamed project from JParserTools -> JParseCode
- Moved plugin-js/ -> plugin/node-js/
0.10.7 - 2016-08-28
- Added jdate-times dependency (since dependent date/time code was moved from jdata-util and jparser-data-type-like to jdate-times)
- Updated dependencies to latest version
0.10.6 - 2016-08-27
- Fixed version numbers and jackson-* dependency names in package-lib.json
0.10.5 - 2016-08-21
- Added JCollectionBuilders and JTuples dependencies
- Updated jcollection-util to latest 0.7.x version (removed twg2.collections.builder and twg2.collections.tuple)
0.10.4 - 2016-08-18
- Updated jdata-util to latest 0.3.x version (EnumUtil renamed ErrorUtil, TimeUnitUtil package name changed)
- Fixed compiled jar path and name
0.10.3 - 2016-08-07
- Updated jcollection-util to latest 0.5.x version
- Updated jfile-io to latest 0.6.x version (SourceInfo renamed to DirectorySearchInfo)
- Updated jtext-util to latest 0.10.x version (some classes moved to new twg2.text.stringSearch package)
- Added jcollection-interfaces dependency
0.10.2 - 2016-06-21
- plugin-js to help generate CLI strings from TypeScript/Javascript projects, with Node.js in mind
- Readme section about the CLI
0.10.1 - 2016-05-13
- Merged DocumentFragmentRef with DocumentFragmentText
- Added some documentation
- Fixed some code warnings
- Moved full class parsing tests to twg2.parser.codeParser.test
- Bug in annotation named parameter parsing when annotation only had one parameter
- Bug in C# property parsing not supporting field modifiers (i.e. 'private', 'protected', ...)
- DocumentFragmentRef (merged with DocumentFragmentText)
0.10.0 - 2016-04-12
- Added better annotation parsing, including support for negative numbers as arguments
- Added CodeFragment which extends 'DocumentFragmentText' so don't have to keep typing that every time, updated most of the code to use CodeFragment
- Added OperatorUtil and Operator (with C# and Java implementation enums) similar to the existing Keyword enums
- Refactored how we use EnumSubSet and enum sub-categorization
- Added CodeFragmentEnumSubSet with is() and parse() methods which accept CodeFragment nodes (we were starting to duplicate this parsing code in Keyword and the new Operator class, so moved it to a reusable class)
- Removed KeywordUtil isXyzKeyword() and parseXyzKeyword() methods in favor of methods that return CodeFragmentEnumSubSet instances for each of the keyword categories (i.e. 'blockModifiers()' or 'operators()')
- Moved twg2.parser.codeParser extractor classes (i.e. AccessModifierExtractor or BlockExtractor) to new twg2.parser.codeParser.extractors package
- ParserWorkflow now generates and groups all results by destination file before writing (previously a writer was opened in overwrite mode for each destination group, thereby overwriting data written to the same file by a previous destination group during the same program execution)
0.9.0 - 2016-03-20
- Added commented parsing for comments attached to methods and fields (future TODO: add comment parsing for comments attached to classes and namespaces)
- Renamed intermAst packages to 'twg2.ast.interm'
- Renamed most AST classes, removed 'interm' from the name
- Moved type resolution out of AST classes into new 'twg2.parser.resolver' classes (i.e. ClassSigResolver, FieldSigResolver, etc.)
- Created 'twg2.parser.language' package for code language management classes
0.8.0 - 2016-02-28
Move from assuming that conditions can list the initial chars that match them (CharParser.WithMarks.getMatchFirstChars()) to CharParserMatchable and new getFirstCharMatcher() method which allows for a flexible definition of matching first chars
- Moved/renamed ParserWorkFlow SourceInfo and LoadResult (renamed to SourceFiles) nested classes and ParserMain.getFilesByExtension() to [JFileIo] (https://github.com/TeamworkGuy2/JFileIo) library
- Moved twg2.parser.output JsonWrite and JsonWritable to JFileIO project's twg2.io.write package
- Renamed ParserMain -> ParserMisc
- Implemented new CharParserMatchable with getFirstCharMatcher() methods in place of old CharParser.WithMarks interface from JTextParser
- Updated to use latest version of JFileIo and JTextParser
0.7.0 - 2016-02-24
- Updated to latest version of JTextParser and JStreamish
- Switched from StringLineSupplier for reading lines from a source string to CharLineSupplier (slightly less garbage generated due to less conversion between strings and char arrays)
- By default, annotation arguments map is include in toJson() output even if empty
- ITrackSearchService.cs test file was using '\r' for newlines, replaced with '\n'
- Moved twg2.parser.test package to separate test directory
- Fixed toJson() not formatting generic types correctly
0.6.0 - 2016-02-21
- Added numeric literal parsing (i.e. '23' or '1.5f')
- Added field and method access modifier parsing (i.e. public, static, synchronized, volatile)
- Fields now write their annotations when toJson() is called
- Changed JsonWrite method names to help differentiate their purposes
- Update to use latest version of multiple libraries, including: JFileIo, JStreamish, JTextParser, and JParserDataTypeLike
0.5.0 - 2016-02-09
- Added array type parsing, (i.e. 'int[][]')
- Added some more tests
- Moved twg2.parser.codeParser.eclipseProject to another project
- Moved none JUnit experiment files to 'miscellaneous' package
0.4.0 - 2016-01-16
- Moved twg2.parser.condition.AstParser -> twg2.parser.baseAst.AstParser
- Modified CodeLanguageOptions, so implementation class is a sub-class and CodeLanguageOptions contains only static fields and methods
- Removed unused twg2.parser.documentParser.block package
- Fixed a regression in C# method signature parsing
0.3.0 - 2016-01-16
- Java parsing support and tests.
- Added Keyword interface for generic language keyword operations such as isKeyword(), isBlockModifierKeyword(), isDataTypeKeyword(), etc.
- Made interm parsing more generic, added a bunch of parser creator functions to AstExtractor. Converted some of the C# interm parsers into more generic parsers to be used by C# and Java (see BaseFieldExtractor, BaseMethodExtractor, BaseMethodParametersParser)
- Renamed getFullyQualifyingName() methods to getFullName(), (note: this may change again in future, possibly to getFqName())
- Moved and renamed ParserCondition, Precondition -> ParserFactory, TokenParserCondition -> TokenParser, CharParserCondition -> CharParser, and ParserStartChars to the [JTextParser] (https://github.com/TeamworkGuy2/JTextParser) project
- Simplified CharConditions and StringConditions sub-class names (i.e. StringConditions.StringStartFilter -> StringConditions.Start)
0.2.1 - 2016-01-13
- Simple C# parse example with resulting JSON. Added and refactored some test cases.
0.2.0 - 2016-01-12
- Finished command line interface (CLI) argument parsing for ['sources', 'destinations', 'log'] and ParserWorkflow.
- Simplified CodeFileSrc generic signature. Added interfaces and setup entire parsing process to be generic (added CodeLanguage.getExtractor() and AstExtractor interface).
- Refactored C# classes to support this more generic approach.
- Added Simple and Resolved sub-classes of ProjectClassSet. Renamed CsMain -> ParserMain.
- Added some additional EclipseClasspathFile/Utils methods for finding project dependencies.
- Removed IntermClass.getBlockTree(), it should be tracked higher up in the parsing process.