Releases: PositiveTechnologies/PT.PM
Releases · PositiveTechnologies/PT.PM
1.6.1
Pull request #135
- CliProcessorBase refactored.
- Line-column text spans in JSON files by default.
- Nullable properties in CliParameters.
- Support options from config.json.
- Support
--pattern no
for patterns ignoring. - Added
DummyCodeRepository
. - Better log output, ignore zero time spans for ignored stages.
- Fixed all unit tests, resolved ignored unit tests.
- Fixed graph directions while rendering.
- Added GitExtensions.settings for better integration (AppVeyor status in Git Gui).
- Strict JSON deserialization mode by default (error if missing class property for excess json property). CLI: support for
--not-strict
option.
1.6
Pull request #122
- Cli parameters
- New
--pattern-ids
- New
--dump-code
-e
- short form for--errors
- Correct cli parameters processing (
not-preprocess-ust
,no-indents
,no-text-spans
).
- New
- Added
CombiningPatternsRepository
, fixes #37. - Support for several input items in
FileCodeRepository
andMemoryCodeRepository
. ConstructorDeclaration
inheritsMethodDeclaration
, fixes #92.- Added new
CommaExpression
. - Fixed calculation of
TotalTimeTicks
. - Try to load code from file if
Code
is not specified in UST Json. - Relative paths in submodules.
- Removed
StringCompressorEscaper
.
Pull request #125
- Support for TextSpan with reference to another CodeFile
Pull request #129
- Implemented text loading for source code files enumerated in multiTextSpan nodes.
Pull request #130
- More clear errors messages during deserialization.
- PT.PM.Cli:
--patterns
parameter supports .json, .pattern files and raw dsl pattern string. - Workflow: loading of source code file from TextSpan with filename.
- LineColumnTextSpan now have format:
[start-line,start-column..end-line,end-column)
. - Dropped JSON case-insensitive keys support.
Pull request #128
- Support timeout in Detect language method, fixed #127
- Do not reparse file after language detection, fixed #126
- PL/SQL parser fixed, JavaScript lexer performance improved.
- Locks removed from AntlrParser, multithreading optimized.
- Language detection algorithm improved (consider last error position, but not errors count).
Pull request #133
1.5.2
1.5.1
Pull requests #107, #108
Ust json as input, #106
Added support for ParseTree and Ust. Other stages will be implemented later, fixed #96
Pull requests #113
- Implemented graphical dumps both in Cli and Gui, fixed #95
- Patterns now are generic types, matching code simplified.
- Json serialization improvements.
- Cli improvements: using CommandLine instead of FluentCommandLineParser. Added
CliParameters
.- Added
LanguageJsonConverter
- Added
TextSpanJsonConverter
, shortenedTextSpan
serialization.
- Added
- Refactorings and simplifications.
Pull request #116
- Implement fast conversion of linear to line-column locations, fixed #114
- TextSpan output improved.
TextTruncter
renamed toPrettyPrinter
and improved.- More accurate position of parsing errors.
- Use
CodeFile
instead string file name in exceptions, fixed #115 - Fixed
--start-cpg
parameter processing. - Json processing improved:
- Case insensitive deserialization.
- Accurate error messages.
- Added
Uncertain
language for incorrect or unknown languages. StageHelper
removed.- Cache clearing and workflow execution.
1.5
- Numerous renamings and code clearing
- More independent language modules using Reflection
- Json serialization improvements
- NodeType removed from Ust and Pattern Ust (class name is identifier itself)
- Added Ust Linq
- Ust base node now have Parent and Root instead of FileNode
- Patterns does not depend on Ust
- Pattern matching algorithms entirely located in PT.PM.Matching
- Custom hardcoded patterns moved in PT.PM.Patterns
- Pattern matcher now returns a list of matched locations that map on UST
- Gui improvements
- Support of http:// and *.zip code repositories (for tests), #103
- Added
--temp-dir
parameter, #104 - Removed integration tests from project, #102
- Support of negation operator for languages, #105
Full list of fixed issues and pull requests: 1.5.
1.3
- Trim long errors text #73
- Trim indents for code fragments in matches #73
- Remove quotes for
char
tostring
conversion #77 - Constant folding: sign + number -> negative number #72
- Char arrays to string folding: :
char[] array = { 'n', 'o', 'n', 'e' }
–>string array = "none";
#76 - DSL improvements:
- Class declaration support:
class : <[X509TrustManager|SSLSocketFactory]> {
#88 - Method declaration support #80
- Not operator extending. The pattern
(class { <{ clone() {...} }> }) <&> (<~>(class : Cloneable {}))
means a class declaration that does not implementCloneable
interface but contains methodclone
. #88 - Exception type in catch block support:
try catch(NullPointerException ) {...}
#78
- Class declaration support:
- PT.PM licence updated #86