1
0
mirror of https://github.com/chylex/Code-Statistics.git synced 2024-10-17 08:42:49 +02:00
Commit Graph

431 Commits

Author SHA1 Message Date
2e43553228 Move InvokeOnUIThread into a static extension class 2016-02-28 20:44:43 +01:00
b39cb659ff Add InvokeOnUIThread for easier handling of threaded UI updates 2016-02-28 16:37:46 +01:00
56b903dab8 Disable AllowDrop in ProjectLoadForm 2016-02-28 16:18:05 +01:00
72264011d3 Make input related classes and structs public 2016-02-28 15:54:56 +01:00
cc98ca7372 Rework input by adding IInputMethod implemented by FileSearch and updating forms 2016-02-28 15:51:42 +01:00
2682ed98bb Add basic GitHub repository downloader class 2016-02-28 15:47:01 +01:00
afd99bafe8 Move MultiFolderDialog to Input/Methods namespace 2016-02-28 14:51:38 +01:00
49470ca6f4 Fix Java static{ skipping the bracket, method generics, and update debugging 2016-02-28 14:24:45 +01:00
8ac8d3363f Fix Java static{ block, type annotations, extra semicolon handling, default interface methods 2016-02-28 14:04:54 +01:00
82767aaaa4 Add Java identifier statistics and lists 2016-02-28 13:35:49 +01:00
466c7dfaa2 Add Java TypeIdentifier for easier identifier handling 2016-02-28 13:33:44 +01:00
5722acbb09 Remove unused 'using' directives and redundant field initialization 2016-02-27 15:36:44 +01:00
a2e8e80050 Remove unused Triple struct 2016-02-27 15:32:14 +01:00
02a4f7bd92 Provide Equals, GetHashCode, and equality operators in Java TypeOf 2016-02-27 15:23:42 +01:00
108b2558bb Add CLSCompliant attribute to the assembly 2016-02-27 15:08:46 +01:00
dbaea6ed45 Move language keys out of form designer files 2016-02-26 06:12:41 +01:00
014df3d2ea Add per-file variable debugger to ProjectDebugForm 2016-02-26 06:10:10 +01:00
8527e491d9 Fix handling of Java primitive arrays 2016-02-26 05:48:18 +01:00
e292f3afb9 Add ^n token to CodeParser.SkipIfMatch 2016-02-26 05:48:02 +01:00
6186b6f043 Fix Java throws declaration detection and Enum semicolon handling 2016-02-26 05:42:48 +01:00
dbde7ab6b3 Add startIndex safeguard to CodeParser.SubstrIndex 2016-02-26 05:20:58 +01:00
72ad3ec8d0 Add Java enum value reading 2016-02-26 04:58:58 +01:00
4b9d051c9c Fix wrong character in JavaCodeParser.ReadMethodParameterList 2016-02-26 04:52:50 +01:00
fa319481a1 Fix JavaCodeParser.ReadMethodParameterList not working with multiple params 2016-02-25 15:58:25 +01:00
ece021a931 Add Field parsing to JavaCodeParser and tweak ReadMethodParameterList 2016-02-25 15:56:29 +01:00
f1c9dcca3b Fix handling of abstract/interface methods with no body in JavaCodeParser 2016-02-25 15:18:20 +01:00
6ea82e135d Add temporary skip to Java Enum type handling 2016-02-25 13:52:54 +01:00
44bd0d78b2 Add Method reading (including constructors and initializers) to JavaCodeParser 2016-02-25 13:52:41 +01:00
28ece26e99 Add JavaCodeParser.SkipTypeArrayAndGenerics to skip <>[] and use in ReadTypeOf 2016-02-25 13:51:50 +01:00
cec14a9d8e Add TypeData class to Java Type for storing declaration type specific data 2016-02-25 13:50:26 +01:00
d147819a84 Add TypeOf.AsSimpleType 2016-02-25 13:50:03 +01:00
4b43f8cf2b Fix compile error in TypeOf 2016-02-25 13:09:33 +01:00
ff617bde6a Add JavaCodeParser.ReadTypeOf for return/field type reading 2016-02-25 11:37:05 +01:00
771a7aeb45 Add Java TypeOf struct and use it for return/parameter types 2016-02-25 10:50:20 +01:00
660839eac8 Add skeletons of Java Field and Method classes 2016-02-24 19:38:38 +01:00
6f8be73787 Add JavaCodeParser.ReadPrimitive 2016-02-24 19:29:03 +01:00
5a1417532d Make sure to handle special formatting in Java package declarations 2016-02-24 19:23:25 +01:00
6a0d8607c3 Add JavaCodeParser.ReadToIfBalanced with unit tests 2016-02-24 18:37:28 +01:00
f0daf254b5 Add JavaCodeParser.SkipToIfBalanced with unit tests 2016-02-24 18:15:25 +01:00
6158a62c18 Remove outdated JavaParser class 2016-02-24 16:54:45 +01:00
990bdfdc72 Add Java Primitives enum 2016-02-24 16:50:11 +01:00
45d951080e Address globalization - add Lang class and missing culture info 2016-02-24 16:04:13 +01:00
ecb01cb4f5 Change some code to stop "possible mistaken empty statement" warning 2016-02-24 14:50:37 +01:00
f3e15ee342 Add File.ToString for easier debugging 2016-02-24 14:45:35 +01:00
389e8562b9 Fix Variables to use a HashSet for flags instead of a List 2016-02-24 13:50:32 +01:00
566c29c2b8 Add a debug breakpoint button to ProjectLoadForm 2016-02-24 13:49:24 +01:00
76a575a08d Work on Java Type contents reading (nested types) 2016-02-24 13:37:31 +01:00
4984e5f4b5 Fix spelling and rename skip-read methods in JavaCodeParser 2016-02-24 12:54:11 +01:00
7eb75efb2b Add Java Type statistics into output 2016-02-24 02:44:14 +01:00
6197b4b2cc Move a bunch of Java parsing methods to the parser class from JavaState 2016-02-24 02:44:02 +01:00
3f42cfcf6d Add Java Type reading to JavaState and update the Type class to be a Member 2016-02-24 02:00:55 +01:00
699b32b8d6 Add Java Member class and annotation & modifier list reading methods 2016-02-24 02:00:18 +01:00
cac64aaadf Add a Java Type class and declaration type reading 2016-02-23 22:39:16 +01:00
81802c26d3 Remove out parameter in JavaParseUtils.ReadStruct 2016-02-23 22:36:25 +01:00
2ec8a85f84 Work on Java modifiers (reading, add properties, make the classes public) 2016-02-23 20:28:22 +01:00
8e5b416ab3 Add JavaParseUtils.ReadStructList for reading lists of elements in Java code 2016-02-23 20:27:06 +01:00
bd9dcf3920 Rename ImportStatement to Import 2016-02-23 18:20:40 +01:00
f07178749b Add Java Modifiers enum 2016-02-23 18:20:15 +01:00
c2f1c78247 Add getters to BiDictionary 2016-02-23 18:01:15 +01:00
94eb8a93f2 Add BiDictionary collection 2016-02-23 17:59:20 +01:00
205d201a9c Move JavaCharacters and JavaParseUtils to Java.Utils namespace 2016-02-23 17:40:46 +01:00
08bbe5e583 Add .jav extension as a Java code file 2016-02-23 17:19:39 +01:00
f5caac32e0 Add Java import parsing and stats 2016-02-23 16:52:38 +01:00
6f4e08548f Fix Java package reading (add count to output, skip semicolon) 2016-02-23 16:34:26 +01:00
32daad3651 Add CodeParser.ReadToSkip and update CodeParser unit tests 2016-02-23 16:33:45 +01:00
7186fec76d Work on Java parsing (fix unused PrepareCodeFile, add package count) 2016-02-23 16:23:38 +01:00
d709da2545 Override Equals, hash code, equality operators in Java Annotation struct 2016-02-23 16:11:34 +01:00
f316ae6e34 Move Java space skipping to JavaState from JavaCodeParser 2016-02-23 15:41:28 +01:00
0d1de755c2 Override Clone in JavaCodeParser 2016-02-23 15:41:08 +01:00
fd2cd9de3b Remove unused references 2016-02-23 15:40:18 +01:00
a9800c8a48 Implement package declaration reading in Java files 2016-02-23 14:54:02 +01:00
5989531bd6 Add CodeParser.ReadTo with unit tests 2016-02-23 14:46:30 +01:00
48823c2ece Add CodeParser.SkipIfMatch with unit tests 2016-02-23 14:35:24 +01:00
b7055cee67 Rename SkipBlockGet to ReadBlock and NextIdentifier to ReadIdentifier 2016-02-22 23:03:57 +01:00
ab6594776a Remove unused JavaParseUtils 2016-02-22 23:02:34 +01:00
cc97f3938e Push current status of Java parsing (unfinished package reading, string.Empty tweak) 2016-02-22 17:21:24 +01:00
aca1a447b5 Add JavaCodeParser.ReadAnnotation with unit tests 2016-02-22 16:52:20 +01:00
6ca477d7da Add JavaCodeParser.ReadFullTypeName 2016-02-22 16:51:20 +01:00
a22252a0ed Add Java element structs - Annotation & ImportStatement 2016-02-22 16:43:28 +01:00
118977a57c Add JavaParseUtils.FullToSimpleName with unit tests 2016-02-22 16:40:14 +01:00
9502461ba2 Add a basic skeleton for JavaCodeParser class to handle java code files 2016-02-22 14:36:53 +01:00
fc2fe08fef Add JavaCharacters.IsNotReservedWord and IsWhiteSpace (replace IsValidIdentifier) 2016-02-22 14:36:06 +01:00
b39c6ded32 Add identifier reading to CodeParser with unit tests 2016-02-22 13:53:28 +01:00
5912301e06 Add documentation and unit tests for CodeParser.Clone 2016-02-22 13:45:24 +01:00
56fae34448 Add public CodeParser cloning, fix SubstrIndex again, add Skip 2016-02-22 13:26:06 +01:00
61138391d9 Prepare CodeParser for being extended 2016-02-22 13:11:41 +01:00
21519be744 Improve unit tests for CodeParser and fix a block reading cursor index bug 2016-02-22 13:10:01 +01:00
0decbbfec3 Add a basic CodeParser class for code navigation plus unit tests 2016-02-22 02:03:02 +01:00
1bc30401f1 Add a WIP JavaCharacters class with identifier characters 2016-02-21 23:28:04 +01:00
599f644a87 Add CharacterRangeSet with unit tests 2016-02-21 23:00:10 +01:00
899ab4516e Do minor refactoring (convert JavaFileInfo to class, rename ProcessCodeFile) 2016-02-21 22:53:01 +01:00
b1cd99d9f8 Fix new lines in debug form textbox 2016-02-21 16:18:57 +01:00
f3e590bc10 Update debug form (manual editing, load original file contents) 2016-02-21 15:59:42 +01:00
d5b589fbcb Change method signature of PrepareFiileContents to use string instead of File 2016-02-21 15:59:21 +01:00
eb68401d6c Remove or comment out most old and unused Java handling classes 2016-02-21 00:18:15 +01:00
652b78dc0f Address a couple concerns from static code analysis 2016-02-20 23:46:17 +01:00
f9c982f8cc Fix debug form textbox font to use Courier New 2016-02-20 23:34:22 +01:00
8e3c3bc6ae Decrease size of tabs in the debug form textbox 2016-02-20 23:31:56 +01:00
97380fd625 Add a button to open the project debug form 2016-02-20 23:15:39 +01:00
ddac05ad5a Add a debug form that shows processed code file contents 2016-02-20 23:15:16 +01:00
49596be234 Add AbstractLanguageFileHandler.PrepareFileContents and implement in existing handlers 2016-02-20 23:15:00 +01:00
2950aaa653 Add JavaParseUtils with basic java code file processing using regex 2016-02-20 23:14:35 +01:00
f468c1c813 Make searchData in Project public 2016-02-20 22:58:33 +01:00
c33fa48377 Use IOUtils.IsDirectory in FileSearch 2016-02-20 15:39:57 +01:00
21e5bc5320 Include the root path in FileSearchData for future use 2016-02-20 15:39:29 +01:00
da15893b34 Add IOUtils with file/directory related functions (+unit tests) 2016-02-20 15:39:02 +01:00
1ba4bed9d2 Change File.Contents to a single string instead of a string array 2016-02-19 21:27:58 +01:00
feff908b70 Add argument check to ParseUtils.CountCharacters 2016-02-19 16:22:52 +01:00
903e3bd65f Add a FirstChanceException handler for debugging 2016-02-19 15:57:52 +01:00
3656b240c9 Add essential Java handling classes 2016-02-19 15:57:12 +01:00
efad2b0b44 Work on language file handler (max/avg values, top file lists) 2016-02-19 15:56:35 +01:00
08180e422b Create a new ParseUtils class with methods specific to code 2016-02-19 15:54:30 +01:00
71f7e0818d Rename ParseUtils to StringUtils, since it consists of very general methods 2016-02-19 15:46:54 +01:00
3836c3a6b6 Rename Variables.ArrayAdapter.ToString to ToStringFormat 2016-02-19 13:08:47 +01:00
2750f542a4 Fix number formatting for array variables 2016-02-19 13:07:57 +01:00
2fbd8bc90c Add formatting capabilities to AnonymousDictionary<string,string> 2016-02-19 13:07:45 +01:00
710a17e4ce Add TopElementList collection that only stores N largest elements using a custom Comparison object 2016-02-18 23:26:55 +01:00
aca6c9d62e Add FileIntValue struct to assign numbers to files 2016-02-18 23:24:47 +01:00
50ae10443a Add IFileHandler.FinalizeProject to run after all files are processed 2016-02-18 22:21:54 +01:00
f2715d25b9 Add extension utility class for special int variable handling 2016-02-18 22:21:21 +01:00
b4c4ed8e55 Fix int variable formatting when using Variables.SetVariable 2016-02-18 22:04:42 +01:00
3adc7d29fa Move ParseUtils to Handling/Utils namespace 2016-02-18 21:57:10 +01:00
3a567abdaf Convert array sorter to Comparison<T> and update AssetHandler to use new methods 2016-02-18 18:55:37 +01:00
67f4e6c88c Improve support for int values in Variables 2016-02-18 13:48:57 +01:00
73f7c5918a Add total line and character count with minor refactorings to language handlers 2016-02-18 02:50:58 +01:00
7f70f8e8f0 Allow spaces in token matches 2016-02-18 02:48:58 +01:00
5e38e35d69 Update File class to cache contents into a string array 2016-02-18 02:43:39 +01:00
a553299f74 Add custom int variable formatting (separate thousands with spaces) 2016-02-18 02:43:14 +01:00
88d19b717b Add an amount param to Variables.Increment 2016-02-18 02:34:47 +01:00
6046cb079e Remove old Java tab classes 2016-02-18 02:18:09 +01:00
9785106808 Tweak the progress bar animation workaround to look better 2016-02-17 23:55:14 +01:00
bce5c1a1bf Reimplement asset type counting and sorting 2016-02-17 23:49:06 +01:00
3d5e3f825f Use invariant culture in Variables.SetVariable/Increment 2016-02-17 23:46:27 +01:00
367c7c194e Add array sorting capability to Variables 2016-02-17 23:38:51 +01:00
6c98183c59 Add variable update to array adapter and add safeguard for anon string,string dict typecasting 2016-02-17 23:24:31 +01:00
23a33399e5 Rewrite project state objects and setup to use the handler objects instead of their types 2016-02-17 23:23:21 +01:00
9f70922996 Add project setup to IFileHandler and state objects to Variables 2016-02-17 22:05:02 +01:00
cb835c5279 Add Generate/Close buttons to ProjectLoadForm 2016-02-17 21:53:01 +01:00
edcd54df82 Move ParseUtils to Handling/Parsing namespace 2016-02-17 17:06:45 +01:00
e823a95806 Add AbstractFileHandler & AbstractLanguageFileHandler and update existing handlers to extend them 2016-02-17 17:04:23 +01:00
6b7048c3b0 Remove unused code in Program class 2016-02-17 16:58:15 +01:00
d0fbd5f283 Add support for default variable values in templates 2016-02-17 16:50:29 +01:00
55a605b868 Redo project load cancel to be safe and wait for the cancel to be acknowledged 2016-02-17 16:40:38 +01:00
db1f33144e Add project processing to ProjectLoadForm 2016-02-17 16:33:11 +01:00
fad8a4640f Add a Project class to handle all file processing and variable generation 2016-02-17 16:30:53 +01:00
0704618841 Add FileSearchData.EntryCount property 2016-02-17 16:29:32 +01:00
44a6da80d8 Remove old ProjectAnalyzer class 2016-02-17 16:27:08 +01:00
080a6e43b5 Add total weight handling to HandlerList 2016-02-17 16:02:19 +01:00
8800f0b044 Add integer value handling and an Increment method to Variables 2016-02-17 15:56:10 +01:00
c59d2c5a77 Reimplement FileHandlers class into HandlerList and remove IFileHandler.IsFileValid 2016-02-17 14:58:51 +01:00
c05ba78dcb Fix missing method error in JavaHandler 2016-02-17 14:21:50 +01:00
8ed552a968 Cleanup code in FileSearch and FileSearchData 2016-02-17 14:20:49 +01:00
66cc7d6384 Update existing handlers to use the interfaces, and add FolderHandler 2016-02-17 14:20:25 +01:00
f27f4aed5e Rework abstract handlers into interfaces 2016-02-17 14:19:58 +01:00
ab62b6e676 Remove the old JavaHandler class 2016-02-17 00:02:57 +01:00
da778a17e5 Readd the bare skeletons of file handler classes 2016-02-17 00:01:39 +01:00
65351ff5f1 Move ParseUtils to a different namespace 2016-02-16 23:59:47 +01:00
645ffd3c8c Delete IHandlerTab and FileHandler, and update all files that use it 2016-02-16 23:59:18 +01:00
a8c5a106ac Remove old asset and unknown file handlers 2016-02-16 23:58:14 +01:00
47b1f81647 Comment out old classes (FileHandlers and ProjectAnalyzer) 2016-02-16 23:56:41 +01:00
44eec35187 Fix file extension check to use lowercase ext and make sure the path is not null 2016-02-16 23:24:30 +01:00
79bb169e60 Move unit tests to a separate CodeStatisticsTests project 2016-02-16 21:54:54 +01:00
b4abe82786 Add ProjectLoadForm with a progress bar and description text 2016-02-16 21:13:56 +01:00
a26a4e3901 Rewrite file searching to be asynchronous and safe 2016-02-16 20:40:38 +01:00
bf49220358 Fix form namespace in csproj file and missing visual styles 2016-02-16 20:24:52 +01:00
858f41f316 Fix MainForm namespace because I didn't save the fucking file 2016-02-16 18:40:44 +01:00
f9740cea9f Move MainForm to its own namespace 2016-02-16 18:40:15 +01:00
353aa7011b Rewrite and cleanup the startup class 2016-02-16 18:35:21 +01:00
e2da6a45fa Add MainForm result and return value for project selection 2016-02-16 18:32:16 +01:00
61b26375a3 Add file/folder drag and drop support on the main form 2016-02-16 18:12:06 +01:00
66810e21e3 Move MultiFolderDialog and reimplement into the form menu 2016-02-16 16:31:17 +01:00
77ca5c9012 Make the Source Code menu button functional 2016-02-16 15:02:29 +01:00
e26cca2288 Remove IProjectInputMethod and old menu handling workarounds 2016-02-16 15:01:20 +01:00
a75fdfb0e2 Convert project to WinForms and add a main form with simple buttons 2016-02-16 14:00:06 +01:00
9ca8a0d8a6 Add ProgramArguments class for parsing args 2016-02-16 13:29:41 +01:00
673f238ccd Remove all console related code 2016-02-16 01:38:56 +01:00
a256988a34 Remove unused using statements 2016-02-16 01:11:06 +01:00
a164833f8e Address static code analysis globalization concerns 2016-02-16 01:10:27 +01:00
fe6ab46cb4 Implement variable handling 2016-02-16 00:59:43 +01:00
f35c2dde81 Add AnonymousDictionary utility class to create dicts from anonymous types 2016-02-16 00:59:35 +01:00
38e0866e52 Finish TemplateToken dynamic value processing 2016-02-16 00:22:09 +01:00
2f335bc6a8 Add dummy methods to Variables class 2016-02-16 00:21:54 +01:00
44593cd7e4 Fix TemplateToken.Variable constructor having incorrect parameter name 2016-02-16 00:19:09 +01:00
ac1d988f15 Add an HTML output generator using the template engine 2016-02-16 00:09:19 +01:00
30c91fd5ff Add a custom template engine (dynamic content is TODO) 2016-02-16 00:08:41 +01:00
b25732114d Add an empty Variables class to use for data handling in future 2016-02-15 23:59:19 +01:00
af4ea4fe11 Fix more inspections (mostly missing readonly) 2015-09-11 12:23:47 +02:00
9b861b912d Fix inconsistencies and unnecessary code (resharper inspections) 2015-09-11 12:16:40 +02:00
220f3e2750 Hide "abstract fields" because they don't actually exist 2015-09-11 00:35:30 +02:00
1925551fa2 Fix alignment of the right column in Java Syntax tab 2015-09-11 00:25:50 +02:00
013e5673f3 Fix while and do/while cycle counter 2015-09-11 00:25:35 +02:00
b8600ca64f Tweak visuals of Java tabs 2015-09-11 00:17:58 +02:00
a5595d7ef8 Increase JavaHandler weight 2015-09-11 00:14:56 +02:00
f88e79de8a Print fields and methods to Java Syntax tab 2015-09-11 00:14:29 +02:00
409f467c89 Add field and method parsing and counting to Java handler 2015-09-10 23:33:16 +02:00
df326aecd6 Add JavaModifiers 2015-09-10 22:26:50 +02:00
9beab6f6ed Add some precautions to Java parsing 2015-09-10 21:02:09 +02:00
8e8caeb723 Add a dark yellow background to progress bar 2015-09-10 19:45:56 +02:00
756ff981e7 Add weighted project analysis progress 2015-09-10 19:43:55 +02:00
ca14d99620 Add a Syntax tab to Java handler with cycles 2015-09-10 18:39:26 +02:00