com.ibm.etools.iseries.parsers
Class ISeriesEditorRPGILESQLParser
java.lang.Object
LpexCommonParser
com.ibm.etools.iseries.parsers.ISeriesEditorParser
com.ibm.etools.iseries.parsers.ISeriesEditorRPGILEParser
com.ibm.etools.iseries.parsers.ISeriesEditorRPGILESQLParser
- All Implemented Interfaces:
- IISeriesCompileErrorInfoViewHandler, IISeriesEditorConstants, IISeriesEditorConstantsColors, ISQLParser, IISeriesEditorConstantsRPG, IISeriesEditorConstantsRPGILE, IISeriesEditorParser, ISystemEditorConstants, ISystemTextEditorAdapterContributor, ISystemTextEditorContextContributor, ISystemTextEditorDebugContributor, ISystemTextEditorHelpContributor, ISystemTextEditorParser, ISystemTextEditorSourceViewerConfigurationContributor
public class ISeriesEditorRPGILESQLParser
- extends ISeriesEditorRPGILEParser
- implements ISQLParser
Fields inherited from class com.ibm.etools.iseries.parsers.ISeriesEditorRPGILEParser |
_alreadyParseAll, _bInCF, _bInCFSQL, _bundle, _freeFormConverter, _helpHandler, _helpMessageHandler, _lClass_CFree, _lClass_CFreeDirective, _lClass_EndCFreeDirective, _lClass_FixSQLEnd, _lClass_FixSQLStart, _lClassBackwardLink, _lClassComment, _lClassControl, _lClassError, _lClassForwardLink, _lClassMask, _lClassProcedure, _lClassSpace, _lClassSql, _lClassSubroutine, _lineClassChangedFlag, _model, _needToAutoSyntaxCheck, _prefixer, _programVerifier, _prompter, _ruler, _store, _syntaxChecker, _tokenizer, copyright |
Fields inherited from class com.ibm.etools.iseries.parsers.ISeriesEditorParser |
_action, _bDataElementChanged, _bDebugMode, _bFromStylePreview, _bIgnoreParseExtras, _bIsPrimaryLpexView, _bLocal, _bOutlineViewNeedsResetting, _bParseAll, _bParsing, _compileEditManager, _compileErrorMarkerListener, _compileMarkNames, _dataLineMarkID, _dataLineMarkListener, _editor, _helpResourceBundle, _iCCSID, _iFile, _labelProvider, _member, _menuLanguageHelp, _menuSource, _outlinePage, _strImagePath, _strLocalFileName, _strSpecialChars, _view, DATA_LINE |
Fields inherited from interface com.ibm.etools.iseries.editor.IISeriesEditorConstantsRPGILE |
_straControlWords, _straDataWords, _straMacroWords, _straRPGFonts, _straXF2_opcodes, _straXF2_possible_opcodes, CHANGE_CFREE_DIRECTIVE_ADDED, CHANGE_CFREE_DIRECTIVE_REMOVED, CHANGE_CFREESQL_END_ADDED, CHANGE_CFREESQL_START_ADDED, CHANGE_CFREESQL_START_END_ADDED, CHANGE_CFREESQL_START_REMOVED, CHANGE_ENDCFREE_DIRECTIVE_ADDED, CHANGE_ENDCFREE_DIRECTIVE_REMOVED, CHANGE_FIXFORM_SQL_END_ADDED, CHANGE_FIXFORM_SQL_END_REMOVED, CHANGE_FIXFORM_SQL_START_ADDED, CHANGE_FIXFORM_SQL_START_REMOVED, CHANGE_NONE, CLASS_BWDLINK, CLASS_CFREE, CLASS_CFREE_DIRECTIVE, CLASS_CFREE_END, CLASS_CFREE_SQL, CLASS_CFREE_SQLEND, CLASS_CFREE_SQLEND_REAL, CLASS_CFREE_SQLSTART, CLASS_COMMENT, CLASS_CONTROL, CLASS_ENDCFREE_DIRECTIVE, CLASS_ERROR, CLASS_FIXFORM_SQL_END, CLASS_FIXFORM_SQL_START, CLASS_FWDLINK, CLASS_PROCEDURE, CLASS_SPACE, CLASS_SQL, CLASS_SUBROUTINE, CLEVEL_LEN, CLEVEL_POS, COMMENT_POS, CONDIND_LEN, CONDIND_POS, CONTINUATION_INDENT, DECPOS_LEN, DECPOS_POS, DIRECTIVE_POS, EOLCOMMENT_POS, EXTFACTOR2_LEN, EXTFACTOR2_POS, FACTOR1_LEN, FACTOR1_POS, FACTOR2_LEN, FACTOR2_POS, FIELDDEF_LEN, FIELDDEF_POS, FIELDLEN_LEN, FIELDLEN_POS, FONT_COMMENT, FONT_DEFAULT, FREE_LEN, FREE_POS, IND_LEN, INDENT_LIMIT, LENGTH_C_OPCODE, MAX_NEST, NUM_OF_OPCODES, OPCODE_LEN, OPCODE_POS, PAGE_INDEX_ILE_C_Calculation, PAGE_INDEX_ILE_C_Calculation_Extended_Factor_2, PAGE_INDEX_ILE_C_Calculation_Extended_Factor_2_Continuation, PAGE_INDEX_ILE_C_Calculation_Free_Form, PAGE_INDEX_ILE_Comment, PAGE_INDEX_ILE_D_Definition, PAGE_INDEX_ILE_D_Definition_Continuation, PAGE_INDEX_ILE_D_Definition_Continued_Name_Line, PAGE_INDEX_ILE_F_File_Description, PAGE_INDEX_ILE_F_File_Description_Continuation, PAGE_INDEX_ILE_Full_Line, PAGE_INDEX_ILE_H_Control, PAGE_INDEX_ILE_I_Input_Field_Description, PAGE_INDEX_ILE_I_Input_Field_Description_Externally_Described_File, PAGE_INDEX_ILE_I_Input_Record_Identification, PAGE_INDEX_ILE_I_Input_Record_Identification_Externally_Described_File, PAGE_INDEX_ILE_I_Input_Record_Identification_Logical_Relationship, PAGE_INDEX_ILE_O_Output_Field_Description, PAGE_INDEX_ILE_O_Output_Field_Description_Continuation, PAGE_INDEX_ILE_O_Output_Record_Identification, PAGE_INDEX_ILE_O_Output_Record_Identification_AND_OR, PAGE_INDEX_ILE_O_Output_to_Disk, PAGE_INDEX_ILE_P_Procedure, PAGE_INDEX_ILE_P_Procedure_Continued_Name_Line, PREF_COLUMN_CFIXED_MAX, PREF_COLUMN_CFREE_MAX, PREF_COLUMN_CFREE_MIN, PREF_COLUMN_CFREE_START, PROMPT_C, PROMPT_CF, PROMPT_CFE, PROMPT_CFS, PROMPT_CFSQL, PROMPT_CM, PROMPT_D, PROMPT_DATA, PROMPT_DC, PROMPT_DX, PROMPT_F, PROMPT_FC, PROMPT_H, PROMPT_IF, PROMPT_IFX, PROMPT_IR, PROMPT_IR2, PROMPT_IRX, PROMPT_LAST, PROMPT_MACRO, PROMPT_NONE, PROMPT_OD, PROMPT_OF, PROMPT_OFC, PROMPT_OR, PROMPT_OR2, PROMPT_P, PROMPT_PC, PROMPT_SPACE, PROMPT_SQL, PROMPT_XF2, PROMPT_XF2C, RESINDEQ_POS, RESINDER_POS, RESINDNR_POS, RESINDS_LEN, RESINDS_POS, RESULTFIELD_LEN, RESULTFIELD_POS, RPGSPEC_C, RPGSPEC_CF, RPGSPEC_D, RPGSPEC_E, RPGSPEC_F, RPGSPEC_H, RPGSPEC_I, RPGSPEC_L, RPGSPEC_O, RPGSPEC_P, RPGSPEC_U, SIGNIFICANT_LEN, SLASHSLASHEOL_POS, SPECTYPE_POS, SRCRECLEN, STRING_HELP_DOC_PLUGIN_ID, STRING_HELP_TABLE_FILENAME, STRING_HELP_TABLE_PLUGIN_ID, STRING_MESSAGE_HELP_DOC_PLUGIN_ID, STRING_MESSAGE_HELP_TABLE_FILENAME, STRING_MESSAGE_HELP_TABLE_PLUGIN_ID, XACQ, XADD, XADDDUR, XALLOC, XANDEQ, XANDGE, XANDGT, XANDLE, XANDLT, XANDNE, XBEGSR, XBITOFF, XBITON, XBLANK, XCAB, XCABEQ, XCABGE, XCABGT, XCABLE, XCABLT, XCABNE, XCALL, XCALLB, XCALLP, XCAS, XCASEQ, XCASGE, XCASGT, XCASLE, XCASLT, XCASNE, XCAT, XCHAIN, XCHECK, XCHECKR, XCLEAR, XCLOSE, XCOMMIT, XCOMP, XDEALLOC, XDEFINE, XDELETE, XDIV, XDO, XDOU, XDOUEQ, XDOUGE, XDOUGT, XDOULE, XDOULT, XDOUNE, XDOW, XDOWEQ, XDOWGE, XDOWGT, XDOWLE, XDOWLT, XDOWNE, XDSPLY, XDUMP, XELSE, XELSEIF, XEND, XENDCS, XENDDO, XENDFOR, XENDIF, XENDMON, XENDSL, XENDSR, XEVAL, XEVAL_CORR, XEVALR, XEXCEPT, XEXFMT, XEXSR, XEXTRCT, XFEOD, XFOR, XFORCE, XGOTO, XIF, XIFEQ, XIFGE, XIFGT, XIFLE, XIFLT, XIFNE, XIN, XITER, XKFLD, XKLIST, XLEAVE, XLEAVESR, XLOOKUP, XMHHZO, XMHLZO, XMLHZO, XMLLZO, XMONITOR, XMOVE, XMOVEA, XMOVEL, XMULT, XMVR, XNEXT, XOCCUR, XON_ERROR, XOPEN, XOREQ, XORGE, XORGT, XORLE, XORLT, XORNE, XOTHER, XOUT, XPARM, XPLIST, XPOST, XREAD, XREADC, XREADE, XREADP, XREADPE, XREALLOC, XREL, XRESET, XRETURN, XROLBK, XSCAN, XSELECT, XSETGT, XSETLL, XSETOFF, XSETON, XSHTDN, XSORTA, XSQRT, XSUB, XSUBDUR, XSUBST, XTAG, XTEST, XTESTB, XTESTN, XTESTZ, XTIME, XUNLOCK, XUPDATE, XWHEN, XWHENEQ, XWHENGE, XWHENGT, XWHENLE, XWHENLT, XWHENNE, XWRITE, XXFOOT, XXLATE, XXML_INTO, XXML_SAX, XZ_ADD, XZ_SUB |
Fields inherited from interface com.ibm.etools.iseries.editor.IISeriesEditorConstantsRPG |
_straSQLWords, _straSQLWordsWithComment, CMD_SETFORMATLINETEXT, CMD_SETTABS, COLUMN_C_FREE, COLUMN_C_OPCODE, COLUMN_COMMENT, COLUMN_FACTOR1, COLUMN_FACTOR2, COLUMN_KEYWORDS, COLUMN_PROC_NAME_BEGIN, COLUMN_PROC_NAME_END, COLUMN_PROC_SPEC, COLUMN_SPEC, FIELD_FACTOR1, FIELD_FACTOR2, FIELD_FROM, FIELD_OPCODE, FIELD_TOLENGTH, OPM_COLUMN_FACTOR1 |
Fields inherited from interface com.ibm.etools.iseries.edit.IISeriesEditorConstantsColors |
COLOR_BLACK_WHITE, COLOR_BLUE_WHITE, COLOR_BRIGHTBLUE_WHITE, COLOR_BRIGHTGREEN_WHITE, COLOR_BRIGHTGREY_WHITE, COLOR_BRIGHTPINK_WHITE, COLOR_BRIGHTRED_WHITE, COLOR_BRIGHTRED_WHITE_SQUIGGLE, COLOR_BROWN_WHITE, COLOR_CYAN_WHITE, COLOR_DARK_BROWN_WHITE, COLOR_ERROR_HIGHLIGHT, COLOR_GREEN_WHITE, COLOR_GREY_WHITE, COLOR_HIGHLIGHT, COLOR_MAGENTA_WHITE, COLOR_PINK_WHITE, COLOR_RED_WHITE, COLOR_WHITE_BRIGHTRED |
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 |
Method Summary |
void |
contributeToMenu(ITextEditor editor,
IMenuManager menuRoot)
Contributes menu bar items. |
protected void |
createActions(ITextEditor editor)
Creates menubar and toolbar actions. |
int |
cursorIndent(int iElement)
|
int |
endOfSQL(int iElement)
Find the end of the SQL statement |
protected void |
enterRPG()
Method enterRPG
enhanced version which handles formatting appropriately |
protected int |
getElementSpecTypeAndUpdateClasses(int iElement)
Returns the spec type of an element
D62355 - the flag needToSetSQLType to determine if we need to update the CFreeSQL related tabs for in the range of line for this SQL statement. |
protected int |
getElementSpecTypeOnly(int iElement)
Returns the spec type of an element
D62355 - the flag needToSetSQLType to determine if we need to update the CFreeSQL related tabs for in the range of line for this SQL statement. |
protected int |
getElementSpecTypeWhenFileLoading(int iElement)
Returns the spec type of an element
D62355 - the flag needToSetSQLType to determine if we need to update the CFreeSQL related tabs for in the range of line for this SQL statement. |
protected int |
getFreeFormSQLEndElement(int startElement)
Get the end of the SQL statement. |
protected int |
getFreeFormSQLEndElementByTaggedClass(int iElement)
Get the end of the SQL statement using the classes information of the elements. |
protected int |
getFreeFormSQLStartElement(int iElement)
Get the start of the SQL statement for an free form embedded SQL statement. |
protected int |
getFreeFormSQLStartElementByTaggedClass(int iElement)
Get the start of the SQL statement using the classes information of the elements. |
SystemTextEditorHelpHandler |
getHelpHandler()
Returns the help handler for this parser. |
String |
getLanguage()
Declared in ISystemEditorParser
D62355 - the language for this parser is "RPGLESQL", which is used to retrieve the portion of the samples |
protected int |
getLastElementInThisCFreeBlock(int iElement,
boolean updateCFreeSQLFlag)
This element will find the last element in a CFree block. |
protected long |
getLineClassTypes(int iElement,
String strLine,
int iSpecType)
Set the line classes of the current element. |
ResourceBundle |
getProfile()
|
SqlLexer |
getRPGLEFixedSqlLexer(LpexCharStream stream)
Returns the SqlLexer for fixed form RPG. |
SqlLexer |
getRPGLEFreeSqlLexer(LpexCharStream stream)
Returns the SqlLexer for free form RPG. |
LpexSourceViewerConfiguration |
getSourceViewerConfiguration()
Returns the source viewer configuration. |
int |
getStatementEndElement(int iElement)
retrives the statement end element number. |
int |
getStatementStartElement(int iElement)
retrives the statement start element number. |
String |
getTextIndent(int iElement)
|
void |
initializeColors(LpexView view)
Initializes the display colors for tokens. |
void |
initializeElementClassTypes()
Registers the element class types with Lpex
D62355 |
protected void |
initParser()
initializes the parser |
protected boolean |
isElementStartSQLStatement(int iElement)
Determines whether or not an element has an EXEC SQL statement, assuming C free format, after comments have been stripped. |
boolean |
isSQLElement(int iElement)
Indicates whether or not the element is part of an SQL statement |
protected void |
newLine()
Method newLine. |
protected void |
openLine()
Method openLine. |
protected int |
parseAndAddLinesCFreeClasses(int iElement)
This method will parse and tag the lines starting at the input line as CFree,
until it reach non-blank column 6 or 7, or data spec
After parsing and updating the CFree class of those lines, it also makes sure the CFreeSQL related classes are also been tagged
to those line properly. |
protected void |
parseElementAfterDelete(int iElement)
This method will handle the case for parseElement, where its previous
element is deleted. |
void |
parseElements(int iElementFirst,
int iElementLast,
int iElementCurrent)
Parse range of elements
This just calls parseLine(i) for each element, subclasses can handle it
differently if they want (e.g. |
void |
parseLine(int iElement)
Port of evfripp.c, LineParse
This really parses an element and not a line...... |
protected void |
parseRegion(int iElementFirst,
int iElementLast,
IProgressMonitor progressMonitor)
Parses a contiguous set of Elements given the first and last Element numbers. |
protected int |
parseRegionForElement(int iElement,
int iSpecType)
D62355 - This method will do the parse region job for one particular element
The type of this element is known already. |
protected void |
printLineClasses(int iElementFirst,
int iElementLast)
|
protected void |
split()
Method split. |
protected void |
splitLine()
Method splitLine. |
int |
startOfSQL(int iElement)
Find the beginning of the SQL statement |
protected int |
updateFreeSQLRelatedClass(int iElementPrevious,
int iElementLast)
This element will find the last element in a CFree block. |
Methods inherited from class com.ibm.etools.iseries.parsers.ISeriesEditorRPGILEParser |
blockMarkWord, checkForFixFormType, cleanupMenu, cleanupToolBar, contributeMenuItems, contributeToPopupMenu, contributeToToolBar, determineElement, determineElement, determineLine, documentChanged, doRefresh, finishedSaving, focusGained, get_lClassProcedure, get_lClassSubroutine, getBeginCFREE, getCFreeString, getCommentStyleCharacters, getElementSpecType, getElementSpecType, getFieldFile, getFieldsProvider, getFormatLine, getFreeFormConverter, getIncludeMember, getLineClassTypes, getLineSpecType, getLineSpecTypeC, getLineSpecTypeD, getLineSpecTypeF, getLineSpecTypeH, getLineSpecTypeI, getLineSpecTypeO, getLineSpecTypeP, getModel, getNextFreeFormBoundaryElement, getNextFreeFormBoundaryLine, getPopupItems, getProgramVerifier, getPromptAdapter, getPrompter, getPromptFormatLine, getStatementEndElement, getStatementStartElement, getSyntaxChecker, initializeLpexView, isElementEndingInSemicolon, isElementHaveBeginStatement, isElementHaveEndStatement, isElementStartingWithSlash, isLineDebuggable, isTokenDelimiter, isValidFieldAction, isValidIncludeAction, matchToken, modelBuiltAsynchronous, parseElement, postParseLineCleanUp, promptRequest, stripComments, supportsOutlineView, terminateParser, withinContextOfCFree |
Methods inherited from class com.ibm.etools.iseries.parsers.ISeriesEditorParser |
addCompileError, addError, cleanupPopupMenu, copyCompileErrorInfo, createOutlineView, doLpexAction, doPromptAction, elementChanged, focusLost, getAdapter, getAS400, getAutoUppercase, getEditor, getIFile, getImage, getISeriesConnection, getISeriesMember, getLocalFileName, getLpexLanguageHelpHandler, getLpexView, getLshToken, getProperty, getPropertySheet, getSpecialChars, getTextLimit, hasSequenceNumbers, isDebugMode, isElementAboveDataRegion, isLineAboveDataRegion, isLocal, isReadOnly, match, parseAll, prompt, queryDataLine, removeErrors, removeErrors, resetOutlineView, saving, selectionLinesChanged, selectionLinesChanged, selectionLinesChanged, setAS400, setCompileErrorInfo, setDebugMode, setEditor, setEnableParseExtras, setLocal, updateProfileForActions, updateProfileForTabbing, upperCase |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Copyright
public static final String Copyright
- See Also:
- Constant Field Values
_configuration
protected ISeriesEditorRPGILESQLSourceViewerConfiguration _configuration
- The source viewer configuration for this parser
_lClass_CFreeSQLStart
protected long _lClass_CFreeSQLStart
_lClass_CFreeSQL
protected long _lClass_CFreeSQL
_lClass_CFreeSQLEnd
protected long _lClass_CFreeSQLEnd
_lClass_CFreeSQLEndReal
protected long _lClass_CFreeSQLEndReal
_lClassMaskAll
protected long _lClassMaskAll
lastSQLLineParsed
protected int lastSQLLineParsed
_thisSQLEndStatement
protected int _thisSQLEndStatement
_formatter
protected SQLFormatter _formatter
_disableFormatting
protected boolean _disableFormatting
_inOpenLine
protected boolean _inOpenLine
_inNewLine
protected boolean _inNewLine
_inEnterRPG
protected boolean _inEnterRPG
_removeFromParsePending
protected boolean _removeFromParsePending
ISeriesEditorRPGILESQLParser
public ISeriesEditorRPGILESQLParser(LpexView view)
- The constructor for the ILE RPG SQL parser
- Parameters:
view
-
initParser
protected void initParser()
- initializes the parser
- Overrides:
initParser
in class ISeriesEditorRPGILEParser
- See Also:
com.ibm.etools.iseries.editor.ISeriesEditorRPGILEParser#initParser()
getProfile
public ResourceBundle getProfile()
- Overrides:
getProfile
in class ISeriesEditorRPGILEParser
getLanguage
public String getLanguage()
- Declared in ISystemEditorParser
D62355 - the language for this parser is "RPGLESQL", which is used to retrieve the portion of the samples
- Specified by:
getLanguage
in interface ISystemTextEditorParser
- Overrides:
getLanguage
in class ISeriesEditorRPGILEParser
createActions
protected void createActions(ITextEditor editor)
- Creates menubar and toolbar actions.
- Overrides:
createActions
in class ISeriesEditorRPGILEParser
getSourceViewerConfiguration
public LpexSourceViewerConfiguration getSourceViewerConfiguration()
- Returns the source viewer configuration. Default implementation returns
null.
- Specified by:
getSourceViewerConfiguration
in interface ISystemTextEditorSourceViewerConfigurationContributor
- Overrides:
getSourceViewerConfiguration
in class ISeriesEditorRPGILEParser
- See Also:
com.ibm.etools.iseries.editor.ISeriesEditorRPGILEParser#getSourceViewerConfiguration()
contributeToMenu
public void contributeToMenu(ITextEditor editor,
IMenuManager menuRoot)
- Contributes menu bar items.
- Specified by:
contributeToMenu
in interface ISystemTextEditorContextContributor
- Overrides:
contributeToMenu
in class ISeriesEditorRPGILEParser
initializeColors
public void initializeColors(LpexView view)
- Initializes the display colors for tokens.
D62355 - add the tokenization colors for embedded SQL statement.
- Overrides:
initializeColors
in class ISeriesEditorRPGILEParser
initializeElementClassTypes
public void initializeElementClassTypes()
- Registers the element class types with Lpex
D62355
- Overrides:
initializeElementClassTypes
in class ISeriesEditorRPGILEParser
getLineClassTypes
protected long getLineClassTypes(int iElement,
String strLine,
int iSpecType)
- Set the line classes of the current element.
D62355
parseElements
public void parseElements(int iElementFirst,
int iElementLast,
int iElementCurrent)
- Description copied from class:
ISeriesEditorParser
- Parse range of elements
This just calls parseLine(i) for each element, subclasses can handle it
differently if they want (e.g. only calling a syntax checker once for the whole range of lines
instead of once per line).
- Specified by:
parseElements
in interface ISQLParser
- Overrides:
parseElements
in class ISeriesEditorRPGILEParser
- Parameters:
iElementFirst
- the first element to parseiElementLast
- the last element to parseiElementCurrent
- the current element in the view- See Also:
D62355 - this method will parse each line in the iElementFirst <-> iElementLast range.
getElementSpecTypeOnly
protected int getElementSpecTypeOnly(int iElement)
- Returns the spec type of an element
D62355 - the flag needToSetSQLType to determine if we need to update the CFreeSQL related tabs for in the range of line for this SQL statement.
- Overrides:
getElementSpecTypeOnly
in class ISeriesEditorRPGILEParser
getElementSpecTypeAndUpdateClasses
protected int getElementSpecTypeAndUpdateClasses(int iElement)
- Returns the spec type of an element
D62355 - the flag needToSetSQLType to determine if we need to update the CFreeSQL related tabs for in the range of line for this SQL statement.
- Overrides:
getElementSpecTypeAndUpdateClasses
in class ISeriesEditorRPGILEParser
getElementSpecTypeWhenFileLoading
protected int getElementSpecTypeWhenFileLoading(int iElement)
- Returns the spec type of an element
D62355 - the flag needToSetSQLType to determine if we need to update the CFreeSQL related tabs for in the range of line for this SQL statement.
- Overrides:
getElementSpecTypeWhenFileLoading
in class ISeriesEditorRPGILEParser
parseLine
public void parseLine(int iElement)
- Port of evfripp.c, LineParse
This really parses an element and not a line......
D62355 - Override to also deal with tokenization for SQL statement.
- Overrides:
parseLine
in class ISeriesEditorRPGILEParser
parseRegion
protected void parseRegion(int iElementFirst,
int iElementLast,
IProgressMonitor progressMonitor)
- Parses a contiguous set of Elements given the first and last Element numbers.
Port of evfripp.c PartParse
D62355 - Override to also deal with tokenization for SQL statement.
- Overrides:
parseRegion
in class ISeriesEditorRPGILEParser
startOfSQL
public int startOfSQL(int iElement)
- Find the beginning of the SQL statement
- Parameters:
iElementStart
-
- Returns:
- Element number where the SQL statement begins
D62355
endOfSQL
public int endOfSQL(int iElement)
- Find the end of the SQL statement
- Parameters:
iElementStart
-
- Returns:
- Element number where the SQL statement ends
D62355
getFreeFormSQLStartElement
protected int getFreeFormSQLStartElement(int iElement)
- Get the start of the SQL statement for an free form embedded SQL statement.
- Parameters:
iElement
- The element to search for its start statement
- Returns:
- The start element of the SQL statement containing iElement
D62355
getFreeFormSQLStartElementByTaggedClass
protected int getFreeFormSQLStartElementByTaggedClass(int iElement)
- Get the start of the SQL statement using the classes information of the elements.
- Parameters:
iElement
- The element to search for its start statement
- Returns:
- The start element of the SQL statement containing iElement
D62355
getFreeFormSQLEndElementByTaggedClass
protected int getFreeFormSQLEndElementByTaggedClass(int iElement)
- Get the end of the SQL statement using the classes information of the elements.
- Parameters:
iElement
- The element to search for its start statement
- Returns:
- The start element of the SQL statement containing iElement
D62355
getFreeFormSQLEndElement
protected int getFreeFormSQLEndElement(int startElement)
- Get the end of the SQL statement.
- Parameters:
startElement
- The start element of this SQL statement
- Returns:
- The end element of the SQL statement
This function will call the SQLLexer#getNextToken method to look ahead of token to detect the end of the
an SQL statement. Because the routines in SQL could have multiple statements inside an SQL statement,
we could not just use semicolon to detect the end of the SQL statement.
D62355
isElementStartSQLStatement
protected boolean isElementStartSQLStatement(int iElement)
- Determines whether or not an element has an EXEC SQL statement, assuming C free format, after comments have been stripped.
- Overrides:
isElementStartSQLStatement
in class ISeriesEditorRPGILEParser
- Parameters:
iElement
- the element to check
- Returns:
- true if the element contains EXEC SQL, false otherwise.
D62355 - We need to call the isCFSQLStart() method, instead of just checking "EXEC SQL"
getRPGLEFreeSqlLexer
public SqlLexer getRPGLEFreeSqlLexer(LpexCharStream stream)
- Returns the SqlLexer for free form RPG.
This method constructs and returns an SqlLexer object for parsing
embedded SQL statements inside free form RPG.
D62355
getRPGLEFixedSqlLexer
public SqlLexer getRPGLEFixedSqlLexer(LpexCharStream stream)
- Returns the SqlLexer for fixed form RPG.
This method constructs and returns an SqlLexer object for parsing
embedded SQL statements inside fixed form RPG.
D62355
getLastElementInThisCFreeBlock
protected int getLastElementInThisCFreeBlock(int iElement,
boolean updateCFreeSQLFlag)
- This element will find the last element in a CFree block.
D62355
updateFreeSQLRelatedClass
protected int updateFreeSQLRelatedClass(int iElementPrevious,
int iElementLast)
- This element will find the last element in a CFree block.
D62355
D63742
parseRegionForElement
protected int parseRegionForElement(int iElement,
int iSpecType)
- D62355 - This method will do the parse region job for one particular element
The type of this element is known already.
input: iElement - element to parse
iSpecType - the type of the element
returns: last element been parse.
- Overrides:
parseRegionForElement
in class ISeriesEditorRPGILEParser
parseAndAddLinesCFreeClasses
protected int parseAndAddLinesCFreeClasses(int iElement)
- This method will parse and tag the lines starting at the input line as CFree,
until it reach non-blank column 6 or 7, or data spec
After parsing and updating the CFree class of those lines, it also makes sure the CFreeSQL related classes are also been tagged
to those line properly. And those CFree SQL line are also parsed at the sametime.
D62355
parseElementAfterDelete
protected void parseElementAfterDelete(int iElement)
- This method will handle the case for parseElement, where its previous
element is deleted.
D62355
- Overrides:
parseElementAfterDelete
in class ISeriesEditorRPGILEParser
- Parameters:
iElement
-
getStatementStartElement
public int getStatementStartElement(int iElement)
- retrives the statement start element number. If one cannot be determined, then the first non-show
element in the doc is returned.
- Overrides:
getStatementStartElement
in class ISeriesEditorRPGILEParser
- Parameters:
iElement
- The element to search for its start statement
- Returns:
- The starting element of the statement containing iElement
D62355 - special treatment for free form SQL
getStatementEndElement
public int getStatementEndElement(int iElement)
- retrives the statement end element number. If one cannot be determined, then the last non-show
element in the doc is returned.
- Overrides:
getStatementEndElement
in class ISeriesEditorRPGILEParser
- Parameters:
iElement
- The element to search for its end statement
- Returns:
- The end element of the statement containing iElement
D62355 - special treatment for free form SQL
printLineClasses
protected void printLineClasses(int iElementFirst,
int iElementLast)
- Overrides:
printLineClasses
in class ISeriesEditorRPGILEParser
openLine
protected void openLine()
- Method openLine.
enhanced version which handles formatting appropriately
- See Also:
com.ibm.lpex.core.LpexCommonParser#openLine()
newLine
protected void newLine()
- Method newLine.
enhanced version which handles formatting appropriately
- See Also:
com.ibm.lpex.core.LpexCommonParser#newLine()
split
protected void split()
- Method split.
enhanced version which handles formatting appropriately
splitLine
protected void splitLine()
- Method splitLine.
enhanced version which handles formatting appropriately
- See Also:
com.ibm.lpex.core.LpexCommonParser#splitLine()
enterRPG
protected void enterRPG()
- Method enterRPG
enhanced version which handles formatting appropriately
- See Also:
com.ibm.lpex.core.LpexCommonParser#enterRPG()
cursorIndent
public int cursorIndent(int iElement)
getTextIndent
public String getTextIndent(int iElement)
isSQLElement
public boolean isSQLElement(int iElement)
- Description copied from interface:
ISQLParser
- Indicates whether or not the element is part of an SQL statement
- Specified by:
isSQLElement
in interface ISQLParser
- Parameters:
iElement
- the element to check
- Returns:
- true if the element is part of an SQL statement, false otherwise
getHelpHandler
public SystemTextEditorHelpHandler getHelpHandler()
- Description copied from class:
ISeriesEditorRPGILEParser
- Returns the help handler for this parser.
- Specified by:
getHelpHandler
in interface IISeriesEditorParser
- Overrides:
getHelpHandler
in class ISeriesEditorRPGILEParser
- Since:
- 7.1
- See Also:
com.ibm.etools.iseries.editor.ISeriesEditorRPGILEParser#getHelpHandler()
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.