1
0
Fork 0
Commit Graph

431 Commits

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