Prolint is a tool for automated source code review of Progress 4GL code. It reads one or more sourcefiles and examines it for bad programming practice
When you are interested Prolint, you are encouraged to subscribe to this group where you find the on-line tools to collaborate and discuss Prolint. There is a discussion forum, you can submit issues (for bugs and enhancement requests), you can modify the on-line documentation. So subscribe, and then don't forget to go to your subscription details to enable the e-mail notification!



Prolint/proparse support for OE 11 keywords


I try to use prolint/proparse for newer OpenEdge 11 files that use new Syntax (like XML-NODE-TYPE on temp-tables).

I get the following error:

org.prorefactor.refactor.RefactorException: modules\posi\futura4\getarticles.p:42:3: unexpected token: XML-NODE-TYPE

I installed and downloaded current versions of prolint (release 74) and proparse ( version

Is this supposed to work?
Am I doing something wrong?
Syntax XML-NODE-TYPE should be supported for many years already?
Is prolint/proparse project dead?

Installation on OE11.0, AppBuilder

Hi Prolint community :)

I know there are already a lot of posts about the proparse installation, that I have read, but it seems I'm still missing something.
I get the error:
Could not find class or interface org.prorefactor.core.JPNode. (12886)

I do not use Eclipse, but AppBuilder, and OE11.0 32 bits. Is it a problem?

Of course I have:

  • created an "assemblies" directory
  • added the startup parameter -assemblies C.\mydir\assemblies
  • created an assemblies.xml file inside, containing:
    <?xml version="1.0" encoding="UTF-8"?>

table usage

Ho do we create a rule which will identify whether the program is using a DB table or not ?

Prolint - tablename rule for class method parameters not working

I am having a class with method and that method is having 2 input parameters assigning to some other local vars.

Using Prolint I am generating ouput for the same class and output is showing warning like "inpt1 must be qualified with table name" and same for the 2nd input parameter for the line number where I am assigning it to other local vars.

But the same is working for procedure file having input parameters, no warning in the output page.

Please suggest

Parsing test

James and I are continuing to have NullPointerException problems. I wrote a program which just goes through the files in a directory tree and does a Proparse parse of them, with the hope that this would show us the files with parsing errors. *But*, we are getting no errors from that. But, in the first ABL2DB task where we use Proparse, we are getting the NullPointerExceptions. The only thing that occurs to me as an explanation is that Proparse successfully builds the parse tree, but there is something wrong with it so that when we start to navigate the tree it steps in a hole.

Integrate Prolint on Open Edge 11.5

Hi all,
Can somebody help me with the steps for using Prolint in OpenEdge 11.5 ?

Thank you !

Does anybody uses Prolint with ActiveX

I try to use the newest version of Prolint which uses ActiveX. And cannot get it working with MSCOMCTL.OCX.
I need to know if anybody got it working on OpenEdgee is in 11.5.

Running Prolint - error 6087

I am at the setup stage of running Prolint 74 in OpenEdge Developer Studio (Open Edge 11.5 - 64 bit). loads properly.
The Prolint screen starts. When I add files to be tested and press OK the error 6087 is displayed when it hits the procedure control-load in prolint/outputhandlers/logwin.w.
Please, help - Hanna

Prolint not loading

I need help with using Prolint on Open Edge 11.5 - 64 bit.
I am trying to evaluate Prolint if it can be part of our development system. As I read about it, it looks very promising. Unfortunately I encountered problems with loading

Support for OpenEdge 11.x language constructs

New constructs such as

block-level on error undo, throw.

are not yet supported

Prolint 73 - Progress v9.1e - tty - installation issues

I need to find a source code analyzer for my company's Progress code and Prolint sounds like a perfect option. We use Progress v9.1e on a Linux server and the CHUI procedure editor for development here. My attempts to install Prolint have been unsuccessful. I downloaded Prolint v73 and its directories are included in the PROPATH. But there were run-time errors when trying to run prolint/launch/start.p (see attached pdf). I could not find very much related to running this from the CHUI Progress editor. Does anyone have any advice?

Prolint puts analyzed program in read-only mode


I'm having an issue regarding Prolint 74.
Every time I run it to lint a program, that program becomes read-only for the AppBuilder. If I try to modify and save the program file to lint it again I get this message from AB:

Cannot save to this file.

File is read-only or the path specified
is invalid. Use a different filename.

Problem org.prorefactor.refactor.RefactorException: unexpected AST node: STREAM "stream" - Prolint 74

I have a source that compiles but when I run it through Prolint I get a warning?
What is wrong and how can I prevent this warning?

This is a simplefied piece of code (this compiles but gives the same warning when running through Prolint 74)

def temp-table tt1 no-undo
  field Number as int.

define stream s-export.

def var v-NMexp as char no-undo.
def var htt  as handle no-undo.

output stream s-export to value(v-NMexp).
htt = temp-table tt1:table-handle.

run _proc-table-export(input table-handle htt by-reference,stream s-export:handle).

Use of dbaliases.d - prolint 74

We have some programs that use aliases that consists of 1 character (don't know why but they exsist).
for example in the code they use s..

I can find in the Prolint documentation that we can use the file /settings/dbaliases.d to prevent compile errors warnings for those in Prolint.
I've create that file and inserted the following lines
"s" "mydatabase"
"m" "mydatabase"

But when I run the program that uses these aliases in Prolint I still get
compile failed
Unknown database name s. (855)

Is there anyone that uses this dbaliases.d file?

Syndicate content