Prolint

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!


proparse does not allow parentheses after publish/subscribe

TokenLister gives following error

---------------------------
parserParse (Press HELP to view stack trace)
---------------------------
org.prorefactor.refactor.RefactorException: W:\cce\appl\test\cvb\proparse\parse_error_pubsub.p:5:10: unexpected token: (
---------------------------
OK Help
---------------------------

when parsing the attached source. This source compiles and executes correctly.


System.IO.FileNotFoundException: Could not load file or assembly 'IKVM.OpenJDK.Core, Version=0.46.0.1, Culture=neutral, PublicKe

It would seem the named file cannot be found, but it seems to be setup just like another system that is working. Thoughts?

Windows XP, local drive


Prolint setup in Pro*Tools

Prolint setup in Pro*Tools

Prolint Installation Guide (Windows)

This is a generic installation guide slightly modified from an actual installation. Please update as you see fit. Please keep in mind, we would like this to be generic enough so it can be used by all. The guide is written in MS Word.


java.lang.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version

This error can arise if you are trying to run the Proparse dll files across a network without adequate access for the dll. For example, if you run Prolint from c:\prolint, but your dll files are located on a mapped drive e:\assemblies, you may get this error. Putting the dll files (assemblies from Proparse) on your local PC should avoid this error - unless you have limited access even on your PC.


"Could not find class or interface org.prorefactor.core.JPNode. (12886)"

** c:\p4gl\tools\prolint\proparse-shim\api\proparse.i Could not understand line 42. (196)

What gives?


adecomm.pl

received this question by e-mail and thought it should be answered in public:

When I do the extract adecomm.pl on my 10.2B windows install, adecomm.pl is in the gui directory, not src and nothing is showing as being extracted. There are, however, 5 .i files in the adecomm subdirectory before I started.


function or non-void method should return a value

OpenEdge allows to write a method that does not contain a "return" statement, even when it is not a void method. We'd like a warning (from Prolint) for that


Settings per profile

How would I create settings per Profile/Ruleset.
We have Rulesets per release. (When checking in code for release 4.1, Ruleset "4.1" is used etc.)
Now I have created a rule which checks some unwanted code, but it should only do so for codes "a,b,c" from 4.1 onwards and "a,b,c,d,e,f" from 4.2 onwards.
In the prolint.properties.p I can add settings, but they are for all profiles.
I would like some settings in the profile-directory.
Any suggestions on how to implement this?

Niek


new rule: cleanup-code can be moved into a finally block

When a function, method or internal procedure has statements close to the end like 'delete object', 'delete procedure', 'set-size(mem)=0', then Prolint may suggest that you put a "finally:... end" block around it.


Prolint release 74 is available

Prolint 74 is ready for download.
It includes bufixes and contributionns by Niek Knijnenburg.

Release 74 does not work with Proparse.DLL anymore but with Proparse.NET. So if you upgrade Prolint to 74 from an older version, you can remove your old "proparse" directory and need to install the new Proparse assemblies. That's a bit of work (well not that much) but it gives you power over the latest ABL language constructs, so it's worth it.


prolint says "ERROR: compile failed" for a new compiler warning

A sourcefile contains the following statement:

define variable hBuffer as handle no-undo initial ?.

The progress compiler gives the following warning:

"Invalid INITIAL option ignored for HANDLE or OBJECT REFERENCE variable (3349)"

Prolint recognizes this as a compile error. Instead it should send it to the outputhandler as a warning and assume that the source compiles fine.


Prolint_propath

PROPATH = "C:\p4gl, " + "C:\p4gl\tools, " + "C:\p4gl\tools\prolint, " + "C:\p4gl\tools\prolint\ab, " + "C:\p4gl\tools\prolint\core, " + "C:\p4gl\tools\prolint\db, " + "C:\p4gl\tools\prolint\filters, " + "C:\p4gl\tools\prolint\images, " + "C:\p4gl\tools\prolint\launch, " + "C:\p4gl\tools\prolint\NO-ERROR, " + "C:\p4gl\tools\prolint\outputhandlers, " + "C:\p4gl\tools\prolint\prolintdb, " + "C:\p4gl\tools\prolint\regrtest, " + "C:\p4gl\tools\prolint\regrtest\db, " + "C:\p4gl\tools\prolint\regrtest-oo, " + "C:\p4gl\tools\prolint\roundtable, " + "C:\p4gl\tools\prolint\roundtable\91c, " + "C:\p4gl\t


Need OpenEdge on-line certification

Hi,

Is there any on-line certification (free/pay) for OpenEdge any varion?

Thanks,
Sridevi Stalin


Unexpected token proc-status

Receiving error "... unexpected token proc-status ... rule proparse" when linting a file containing a temp-table with a field named "PROC-STATUS".

The keyword forget-list for the session is set up with PROC-STATUS.

The file compiles successfully with a straight compile from the editor.

How do I get past this? Unfortunately removing PROC-STATUS from the definition is not an option.


#
Syndicate content