public class Options
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
basepath
Defines the top-level directory for source code in the project.
|
private boolean |
batchMode
BATCH-MODE preprocessor built-in variable value.
|
private boolean |
caseSensitive
Treat include file names case sensitively -- defaults to true
|
private boolean |
debug
Generate debug output option.
|
private java.lang.String[] |
fallback
Fallpath list of files to search when an include file can't be found.
|
private java.lang.String |
fileSeparator
File separator string
|
private java.lang.String |
hintsFile
Hints file name option.
|
private boolean |
keepTildes
Controls how escape sequences are emitted on output.
|
private boolean |
lexonly
Only the lexer should run, no full preprocessing.
|
private char |
marker
Marker character option.
|
private java.lang.String |
opsys
OPSYS preprocessor built-in variable value.
|
private java.lang.String |
pathSeparator
Path separator string
|
private java.lang.String[] |
proPath
Array of paths in which Progress source files are to be found.
|
private int |
pushbackDepth
Pushback buffer depth option.
|
private boolean |
unixEscapes
Flag to control the honoring of backslash as an escape sequence.
|
private java.lang.String |
windowSystem
WINDOW-SYSTEM preprocessor built-in variable value.
|
Constructor and Description |
---|
Options()
Default constructor.
|
Options(Options other)
Copy constructor.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getBasepath()
Gets the top-level directory for Progress source files in the project.
|
java.lang.String[] |
getFallbackList()
Gets the list of all files in the top-level directory for Progress source
files in the project.
|
java.lang.String |
getFileSeparator()
Gets the legacy file separator defined for the project (which may be
different from the platform's file separator).
|
java.lang.String |
getHintsFile()
Gets the hints file name.
|
char |
getMarker()
Gets the marker character.
|
java.lang.String |
getOpsys()
Gets the operating system name.
|
java.lang.String |
getPathSeparator()
Gets the legacy path separator defined for the project (which may be
different from the platform's path separator).
|
java.lang.String[] |
getProPath()
Gets the list of paths searched for Progress source files.
|
int |
getPushbackDepth()
Gets the pushback depth.
|
java.lang.String |
getWindowSystem()
Gets the window system name.
|
boolean |
isBatchMode()
Gets the batch mode state.
|
boolean |
isCaseSensitive()
Gets the case sensitive include file name state.
|
boolean |
isDebug()
Gets the debug option.
|
boolean |
isKeepTildes()
Gets the mode for processing escape characters.
|
boolean |
isLexonly()
Gets the run lexer only option.
|
boolean |
isUnixEscapes()
Gets the mode for escape sequence processing.
|
void |
setBasepath(java.lang.String basepath)
Sets the top-level directory for Progress source files in the project.
|
void |
setBatchMode(boolean batchMode)
Sets the batch mode state.
|
void |
setCaseSensitive(boolean caseSensitive)
Sets the case sensitive include file name flag.
|
void |
setDebug(boolean debug)
Sets the debug option.
|
void |
setFileSeparator(java.lang.String fileSeparator)
Sets the legacy file separator defined for the project (which may be
different from the platform's file separator).
|
void |
setHintsFile(java.lang.String hints)
Sets the hints file name.
|
void |
setKeepTildes(boolean keepTildes)
Sets the mode for processing escape characters.
|
void |
setLexonly(boolean lexonly)
Sets the run lexer only option.
|
void |
setMarker(char c)
Sets the marker character.
|
void |
setOpsys(java.lang.String opsys)
Sets the operating system name.
|
void |
setPathSeparator(java.lang.String pathSeparator)
Sets the legacy path separator defined for the project (which may be
different from the platform's path separator).
|
void |
setProPath(java.lang.String[] proPath)
Sets the list of paths searched for Progress source files.
|
void |
setPushbackDepth(int pushbackDepth)
Sets the pushback depth.
|
void |
setUnixEscapes(boolean unixEscapes)
Sets the mode for escape sequence processing.
|
void |
setWindowSystem(java.lang.String windowSystem)
Sets the window system name.
|
private java.lang.String[] proPath
private int pushbackDepth
private boolean keepTildes
private boolean unixEscapes
private java.lang.String fileSeparator
private java.lang.String pathSeparator
private boolean debug
private boolean lexonly
private char marker
private java.lang.String hintsFile
private boolean caseSensitive
private boolean batchMode
private java.lang.String opsys
private java.lang.String windowSystem
private java.lang.String basepath
private java.lang.String[] fallback
public Options()
public Options(Options other)
other
- Instance from which to copy.public void setProPath(java.lang.String[] proPath)
'-propath ...'
command line parameter. Plays the
role of the PROPATH environment variable.proPath
- The list of paths.public java.lang.String[] getProPath()
'-propath ...'
command line parameter. Plays the
role of the PROPATH environment variable.public void setBasepath(java.lang.String basepath)
basepath
- The new top-level directory.public java.lang.String getBasepath()
public java.lang.String[] getFallbackList()
basepath
is
used as the top-level directory specification. The search is done
recursively down the tree.
If case-sensitivity is disabled, then all names in this list will have been forced to lowercase to make it faster to compare. Just make sure the comparison string is also lowercased!
public void setPushbackDepth(int pushbackDepth)
'-pushback nnn'
command line parameter. Determines the size of the pushback buffer used
to preprocess braces {...}
constructs. In the rare case
one sees an error message stating there was a pushback buffer overflow,
increasing this value would help.pushbackDepth
- The new value for the pushback buffer depth in bytes.public int getPushbackDepth()
'-pushback nnn'
command line parameter. Determines the size of the pushback buffer used
to preprocess braces {...}
constructs. In the rare case
one sees an error message stating there was a pushback buffer overflow,
increasing this value would help.public void setKeepTildes(boolean keepTildes)
true
, escapes are
kept on output. This duplicates how the Progress preprocessor emits for
its saved preprocessor output BUT DOES NOT MATCH how the Progress
preprocessor seems to really work with output that is passed directly
(in memory) to the compiler.keepTildes
- true
if escape characters have to be emitted on
output.public boolean isKeepTildes()
true
, escapes are
kept on output. This duplicates how the Progress preprocessor emits for
its saved preprocessor output BUT DOES NOT MATCH how the Progress
preprocessor seems to really work with output that is passed directly
(in memory) to the compiler.true
if escape characters have to be emitted on
output.public void setUnixEscapes(boolean unixEscapes)
'-unixescapes'
command line parameter. Defaults to
true
.unixEscapes
- true
if backslash characters are to be treated
as escape sequences (just like tildes).public boolean isUnixEscapes()
'-unixescapes'
command line parameter. Defaults to
true
.true
if backslash characters are treated as
escape sequences (just like tildes).public void setFileSeparator(java.lang.String fileSeparator)
'-fileseparator'
command line parameter. Defaults to the
current platform's file separator.fileSeparator
- Project-specific file separator.public java.lang.String getFileSeparator()
'-fileseparator'
command line parameter. Defaults to the
current platform's file separator.public void setPathSeparator(java.lang.String pathSeparator)
'-pathseparator'
command line parameter. Defaults to the
current platform's path separator.pathSeparator
- Project-specific path separator.public java.lang.String getPathSeparator()
'-pathseparator'
command line parameter. Defaults to the
current platform's path separator.public void setDebug(boolean debug)
'-debug'
command line parameter.debug
- true
if debug output is required.public boolean isDebug()
'-debug'
command line parameter.true
if debug output is required.public void setLexonly(boolean lexonly)
'-lexonly'
command line parameter.lexonly
- true
if lexer only mode required.public boolean isLexonly()
'-lexonly'
command line parameter.true
if lexer only mode is in effect.public void setMarker(char c)
'-marker n'
command line parameter.c
- The new marker character.public char getMarker()
'-marker n'
command line parameter.public void setHintsFile(java.lang.String hints)
'-hints filename'
command line parameter.hints
- The new hints file name.public java.lang.String getHintsFile()
'-hints filename'
command line parameter.public void setBatchMode(boolean batchMode)
'-batch'
command line parameter.batchMode
- true
to set batch mode on.public boolean isBatchMode()
'-batch'
command line parameter.true
if batch mode is on.public void setCaseSensitive(boolean caseSensitive)
'-casesensitive'
command line parameter.caseSensitive
- true
to treat include file names case sensitively;
else false
public boolean isCaseSensitive()
'-casesensitive'
command line parameter.true
if include file names should be treated as
case-sensitive, else false
.public void setOpsys(java.lang.String opsys)
'-opsys name'
command line parameter.opsys
- The new operating system name.public java.lang.String getOpsys()
'-opsys name'
command line parameter.public void setWindowSystem(java.lang.String windowSystem)
'-winsys name'
command line parameter.windowSystem
- The new window system name.public java.lang.String getWindowSystem()
'-winsys name'
command line parameter.