com.ibm.etools.iseries.edit.verifiers
Class VerifierRPGILE
java.lang.Object
com.ibm.etools.iseries.edit.verifiers.Verifier
com.ibm.etools.iseries.edit.verifiers.VerifierRPGILE
- All Implemented Interfaces:
- IISeriesEditorConstants, IVerifier, ISystemEditorConstants
public class VerifierRPGILE
- extends Verifier
RPG ILE program verifier.
Fields inherited from class com.ibm.etools.iseries.edit.verifiers.Verifier |
_bDBCS, _bLocal, _bShowListingsView, _connection, _document, _iCCSID, _job, _member, _sourceIFile, _strFullLocalFileName, _strMessage, _strProjectName, _view, lock |
Fields inherited from interface com.ibm.etools.iseries.edit.IISeriesEditorConstants |
ACTION_VERIFYPROGRAM_ID, APPLICATION_DIAGRAM, COMPILE_ERROR_MESSAGE_STYLE, FILE_TYPE_CL, FILE_TYPE_DDS, FILE_TYPE_OTHER, FILE_TYPE_RPGILE, FILE_TYPE_RPGOPM, MAX_DS_NESTING, OUTLINE_VIEW, PREF_AUTO_FORMAT, PREF_AUTO_FORMAT_T, PREF_AUTO_UPPER, PREF_AUTO_UPPER_T, PREF_BASE_PREFIX, PREF_BLANK, PREF_BLANK_SUFFIX, PREF_BLANK_T, PREF_COMMAND_POS, PREF_COMMAND_POS_T, PREF_HIGHLIGHT, PREF_HIGHLIGHT_BACKGROUND, PREF_HIGHLIGHT_BACKGROUND_T, PREF_HIGHLIGHT_T, PREF_INDENT, PREF_INDENT_T, PREF_INDENTATION, PREF_INDENTATION_T, PREF_LABEL_ABOVE_CMD, PREF_LABEL_ABOVE_CMD_T, PREF_LABEL_POS, PREF_LABEL_POS_T, PREF_LINE_LENGTH, PREF_LINE_LENGTH_T, PREF_ONE_PARM_PER_LINE, PREF_ONE_PARM_PER_LINE_T, PREF_PARSER_ASSOC, PREF_PARSER_STYLES, PREF_SIGNATURE_T, PREF_SQL_SYNTAX_CHECK, PREF_SQL_SYNTAX_CHECK_T, PREF_SYNTAX_CHECK, PREF_SYNTAX_CHECK_T, PREF_TAB, PREF_TAB_GENERAL, PREF_TAB_GENERAL_T, PREF_TAB_T, PREF_TOOLTIP_SUFFIX, PROGRAM_VERIFICATION |
Fields inherited from interface com.ibm.etools.systems.editor.ISystemEditorConstants |
COMPILE_ERROR_CLASS_NAME, ICON_EDITOR_COMPILE, ICON_EDITOR_COMPILE_D, ICON_EDITOR_COMPILE_D_ID, ICON_EDITOR_COMPILE_D_ROOT, ICON_EDITOR_COMPILE_ID, ICON_EDITOR_COMPILE_ROOT, ICON_EDITOR_NEXT_ERROR, ICON_EDITOR_NEXT_ERROR_D, ICON_EDITOR_NEXT_ERROR_D_ID, ICON_EDITOR_NEXT_ERROR_D_ROOT, ICON_EDITOR_NEXT_ERROR_ID, ICON_EDITOR_NEXT_ERROR_ROOT, ICON_EDITOR_PREVIOUS_ERROR, ICON_EDITOR_PREVIOUS_ERROR_D, ICON_EDITOR_PREVIOUS_ERROR_D_ID, ICON_EDITOR_PREVIOUS_ERROR_D_ROOT, ICON_EDITOR_PREVIOUS_ERROR_ID, ICON_EDITOR_PREVIOUS_ERROR_ROOT, ICON_EXT, ICON_RELATIVE_PATH_DLCL16, ICON_RELATIVE_PATH_ELCL16, ICON_RELATIVE_PATH_FULL, ICON_SUFFIX, PREFIX, SYNTAX_ERROR_CLASS_NAME |
Methods inherited from class com.ibm.etools.iseries.edit.verifiers.Verifier |
callbackGetLinePrefixText, callbackGetLineText, callbackGetNextLine, callbackGetPreviousLine, callbackIsShowLine, doVerification, doVerificationWithOptionsDialog, findIBMiConnection, getCCSID, getErrorListFile, getEventDirectoryPath, getEventName, getFullLocalFileName, getHostAlias, getHostCommunicationsPort, getInformationDirectoryPath, getInformationName, getISeriesMemberFullName, getListingDirectoryPath, getListingName, getLocalFileName, getQSYSMember, getShortFileName, getSpecialCharsXLate, initializeViewFromDocument, initializeViewFromFile, initializeViewFromLpexView, isDBCS, isIFSFile, isLocal, setIBMiConnection, setIFile, setLocal, setShowListingsView, showErrorListView, showListingsView |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
copyright
public static String copyright
_bInitializationSuccessful
public boolean _bInitializationSuccessful
_urlOutlineViewPath
public URL _urlOutlineViewPath
_specialCharByteArray
protected byte[] _specialCharByteArray
VerifierRPGILE
public VerifierRPGILE(IDocument document)
- Constructor for a document.
VerifierRPGILE
public VerifierRPGILE(IFile file)
- Constructor for a file.
VerifierRPGILE
public VerifierRPGILE(LpexView lpexView)
- Constructor for an Lpex view.
getCacheRefresh
public boolean getCacheRefresh()
- Returns whether or not the cache should be refreshed.
- Returns:
- boolean returns true if refrsh cache is on, false otherwise.
- See Also:
com.ibm.etools.iseries.editor.verifiers.IVerifier#getCacheRefresh()
isAvailable
public static boolean isAvailable()
- Returns whether this verifier is available.
getDataAreaFileName
public static String getDataAreaFileName()
- Returns the filename where the Data Area will be stored.
This will be used when H-spec is not specified in the source.
verify
protected String verify(int iMode)
- Do the verification.
- Specified by:
verify
in class Verifier
verifyWithOptionsDialog
protected String verifyWithOptionsDialog()
- Displays the program verifier options dialog and the verifies the program. The persistent preferences
are not altered. They are loaded from the preference store, then restored after the verify is done.
- Specified by:
verifyWithOptionsDialog
in class Verifier
getRPGSpecialCharBytes
protected byte[] getRPGSpecialCharBytes(String strSpecialChars)
- This API is a workaround for NL variant chars problem in syntax checker and verifier.
The special chars array is organized as @, $, # in ISeriesEditorParser.
In some encoding, a variant char is converted to multiple bytes. For example, in Chinese GB18030, the $ special char
is converted to 4 bytes. There is a bug on Syntax checker DLL and Verifier DLL right now which only takes the first 3 bytes
and treat them as @, $, #. Because a variant char converts to multiple bytes, the byte for the variant char after that
variant char is not used by syntax checker and verifier. Thus, this variant char will be flagged as invalid. For GB18030, both
Chinese $ and # are flagged as invalid.
To workaround this problem, rearrange the byte array so that it contains a complete byte for variant chars as many as
possible. For example, in GB18030 case, the #'s byte and $' bytes will be switched so that #'s byte is the second element in
specialchar's byte array. As a result, # will not be flagged as invalid. $ sign in GB18030 is still flagged as invalid
as before. - LD.
Copyright © 2011 IBM Corp. All Rights Reserved.
Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.