New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java Mode refactoring #4440

merged 97 commits into from May 6, 2016


None yet
2 participants

JakubValtar commented May 6, 2016

  • revamped whole error checking infrastructure, new threading model
  • ECS changed into PreprocessingService - handles continuous preprocessing when sketch changes
  • other functionality (Error Checker, Show Usage, Go to Definition, Rename) now lives in PDEX
    • fixed show usage (now with live updating)
    • fixed rename
    • fixed ctrl+click - now works as Go To Definition / Show Usage when on definition
  • lot of stuff removed from ASTGenerator, now called CompletionGenerator
  • PreprocessedSketch now groups together outputs of preprocessing
    • PDE and Java code with offset mapping between the two
    • import statements
    • ClassLoader and ClassPaths for error checking and import suggestion lookups
    • CompilationUnit (AST root)
  • removed unused code all around JavaMode
  • multiple error wiggles per source line
  • Java tabs disable preprocessing service and PDEX functionality
  • I'm sure I forgot something

Fixes #4368
Fixes #3988

JakubValtar added some commits Mar 11, 2016

Minor changes to PdePreprocessor
- Remove redundant static modifier in front of Mode
- Let some methods accept CharSequence instead of String (can be used
with both String and StringBuilder)
ECS: New preprocessing pipeline (breaking)
Breaks ASTGenerator and offset mapping everywhere
ECS: import suggestions
- search classpath should be different than sketch classpath (WIP)
- looks for inner classes
- looks for each class only once and reuses the result
ECS + ASTGen: big offset fix
- PreprocessedSketch is now top level class
- go do declaration (ctrl+click) was fixed and is now handled via JDT
- various offset conversions were simplified and code completion now
works as before

JakubValtar added some commits Apr 30, 2016

@benfry benfry merged commit c80582b into processing:master May 6, 2016


This comment has been minimized.

Show comment
Hide comment

benfry May 6, 2016




benfry commented May 6, 2016


@JakubValtar JakubValtar deleted the JakubValtar:javamode-refactoring branch May 7, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment