Skip to content

byron-hawkins/org.hawkinssoftware.rns-ast-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

RNS Java AST Analyzer for Eclipse

The compile-time component of [Role Normalization and Synthesis] parent, this Eclipse plugin implements publication constraints on public Java types and methods.

Artifact

An Eclipse plugin containing:

  1. RNS Build Analyzer, a project builder
  2. RNS Project Nature
    • extends the core Java Nature
  3. Problem markers for calling out code that violates the developer's architectural constraints

Installation

  1. Install the plugin into your Eclipse workspace.
  2. Activate the analyzer for any project by right-clicking it in the Package Explorer and selecting Toggle RNS Nature.

Usage

The developer specifies publication constraints using annotations:

  1. @InvocationConstraint restricts invocation of methods
  2. @VisibilityConstraint restricts visibility of types
  3. @ExtensionConstraint restricts extension of types (including implementation of interfaces)

Workspace errors will indicate any violations to RNS constraints (within any project having the RNS Nature)

Known Issues

  1. Performance is quite poor, especially for large projects with heavily integrated class hierarchies. Many improvements can be made, but this is only a prototype and does not warrant the effort.
  2. The plugin currently is not able to identify every violation during incremental builds. It overlooks a few, and will find them when a directly related file is touched. This is a bug and will be fixed.

About

Eclipse compiler plugin to analyze the AST for RNS declarations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages