Skip to content

feat(analysis): add OpenEdge ABL language support#185

Open
ChristianHuehn wants to merge 1 commit into
mainfrom
feature/abl-language-support
Open

feat(analysis): add OpenEdge ABL language support#185
ChristianHuehn wants to merge 1 commit into
mainfrom
feature/abl-language-support

Conversation

@ChristianHuehn

Copy link
Copy Markdown
Collaborator

Summary

  • Add OpenEdge ABL (Progress 4GL) language analyzer using tree-sitter-abl
  • Support procedural files (.p, .w) and OO class files (.cls)
  • Extract dependencies from USING, RUN, INHERITS/IMPLEMENTS, and include directives
  • Convert all dependency types to usedTypes for proper resolution

Supported ABL Constructs

Construct Example Captured As
USING USING mypackage.Customer. dependency + usedType
USING wildcard USING Progress.Lang.* wildcard dependency
RUN RUN mypackage/helper.p. dependency + usedType
INHERITS CLASS Foo INHERITS Bar: usedType
IMPLEMENTS CLASS Foo IMPLEMENTS IBar: usedType
Include {include/utils.i} dependency + usedType

Test plan

  • Unit tests for all ABL constructs (11 tests passing)
  • Manual verification with real ABL codebase

🤖 Generated with Claude Code

Add support for analyzing OpenEdge ABL (Progress 4GL) codebases with
both procedural (.p, .w) and object-oriented (.cls) paradigms.

Features:
- Parse USING statements as dependencies with wildcard support
- Extract RUN statement targets as dependencies
- Capture INHERITS/IMPLEMENTS clauses for class inheritance
- Process include directives ({file.i}) as dependencies
- Convert all dependency types to usedTypes for proper resolution

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants