You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
0.10.1 - Merged DocumentFragmentRef with DocumentFragmentText. Added some documentation and fixed some warnings. Fixed annotation named parameter parsing and C# property access modifier parsing bug.
* Added better annotation parsing, including support for negative numbers as arguments
17
-
* Fixed ParserWorkflow to generate and group 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)
18
26
* Added CodeFragment which extends 'DocumentFragmentText<CodeFragmentType>' so don't have to keep typing that every time, updated most of the code to use CodeFragment
19
27
* Added OperatorUtil and Operator (with C# and Java implementation enums) similar to the existing Keyword enums
28
+
29
+
####Changed
20
30
* Refactored how we use EnumSubSet and enum sub-categorization
21
31
* 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)
22
32
* 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()')
23
33
* Moved twg2.parser.codeParser extractor classes (i.e. AccessModifierExtractor or BlockExtractor) to new twg2.parser.codeParser.extractors package
24
34
35
+
####Fixed
36
+
* 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)
* Added commented parsing for comments attached to methods and fields (future TODO: add comment parsing for comments attached to classes and namespaces)
43
+
44
+
####Changed
33
45
* Renamed intermAst packages to 'twg2.ast.interm'
34
-
*Removed 'interm' from most AST class names
46
+
*Renamed most AST classes, removed 'interm' from the name
35
47
* Moved type resolution out of AST classes into new 'twg2.parser.resolver' classes (i.e. ClassSigResolver, FieldSigResolver, etc.)
36
48
* Created 'twg2.parser.language' package for code language management classes
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
46
55
* Moved/renamed ParserWorkFlow SourceInfo and LoadResult \(renamed to SourceFiles) nested classes and ParserMain.getFilesByExtension() to [JFileIo] (https://github.com/TeamworkGuy2/JFileIo) library
47
56
* Moved twg2.parser.output JsonWrite and JsonWritable to JFileIO project's twg2.io.write package
@@ -51,87 +60,83 @@ Move from assuming that conditions can list the initial chars that match them (C
* Updated to latest version of JTextParser and JStreamish
60
66
* 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)
61
-
* Fixed toJson() not formatting generic types correctly
62
67
* By default, annotation arguments map is include in toJson() output even if empty
63
68
* ITrackSearchService.cs test file was using '\r' for newlines, replaced with '\n'
64
69
* Moved twg2.parser.test package to separate test directory
65
70
71
+
####Fixed
72
+
* Fixed toJson() not formatting generic types correctly
* Added Keyword interface for generic language keyword operations such as isKeyword(), isBlockModifierKeyword(), isDataTypeKeyword(), etc.
116
+
117
+
####Changed
111
118
* 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)
112
119
* Renamed getFullyQualifyingName() methods to getFullName(), (note: this may change again in future, possibly to getFqName())
113
120
* Moved and renamed ParserCondition, Precondition -> ParserFactory, TokenParserCondition -> TokenParser, CharParserCondition -> CharParser, and ParserStartChars to the [JTextParser] (https://github.com/TeamworkGuy2/JTextParser) project
*__Finished command line interface (CLI) argument parsing for ['sources', 'destinations', 'log'] and ParserWorkflow.__
134
+
135
+
####Changed
133
136
* Simplified CodeFileSrc generic signature. Added interfaces and setup entire parsing process to be generic (added CodeLanguage.getExtractor() and AstExtractor interface).
134
137
* Refactored C# classes to support this more generic approach.
135
-
* Removed IntermClass.getBlockTree(), it should be tracked higher up in the parsing process.
136
138
* Added Simple and Resolved sub-classes of ProjectClassSet. Renamed CsMain -> ParserMain.
137
139
* Added some additional EclipseClasspathFile/Utils methods for finding project dependencies.
140
+
141
+
####Removed
142
+
* Removed IntermClass.getBlockTree(), it should be tracked higher up in the parsing process.
Copy file name to clipboardexpand all lines: src/twg2/parser/codeParser/tools/EnumSubSet.java
+21-2
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,9 @@
7
7
importjava.util.function.Function;
8
8
importjava.util.function.Predicate;
9
9
10
-
/** A class and builder for a list of enum values and names and searching those names
10
+
importtwg2.collections.util.ToStringUtil;
11
+
12
+
/** A class and builder for a list of enum values and names and find() method to retrieve the value associated with a name
11
13
* @author TeamworkGuy2
12
14
* @since 2016-2-20
13
15
*/
@@ -49,7 +51,13 @@ public E find(String name) {
49
51
}
50
52
51
53
52
-
/** Given a list of names in original order (names) and sorted order (namesSorted) and a list of values (values), create a sorted values array containing 'values'
0 commit comments