|
Eclipse JDT Release 3.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.jdt.core.ToolFactory
Factory for creating various compiler tools, such as scanners, parsers and compilers.
This class provides static methods only; it is not intended to be instantiated or subclassed by clients.
Constructor Summary | |
ToolFactory()
|
Method Summary | |
static ICodeFormatter |
createCodeFormatter()
Deprecated. - should use #createCodeFormatter(Map) instead. Extension point is discontinued |
static CodeFormatter |
createCodeFormatter(Map options)
Create an instance of the built-in code formatter. |
static ClassFileBytesDisassembler |
createDefaultClassFileBytesDisassembler()
Create a classfile bytecode disassembler, able to produce a String representation of a given classfile. |
static IClassFileDisassembler |
createDefaultClassFileDisassembler()
Deprecated. - should use factory method creating ClassFileBytesDisassembler instead |
static IClassFileReader |
createDefaultClassFileReader(IClassFile classfile,
int decodingFlag)
Create a classfile reader onto a classfile Java element. |
static IClassFileReader |
createDefaultClassFileReader(String fileName,
int decodingFlag)
Create a default classfile reader, able to expose the internal representation of a given classfile according to the decoding flag used to initialize the reader. |
static IClassFileReader |
createDefaultClassFileReader(String zipFileName,
String zipEntryName,
int decodingFlag)
Create a default classfile reader, able to expose the internal representation of a given classfile according to the decoding flag used to initialize the reader. |
static ICodeFormatter |
createDefaultCodeFormatter(Map options)
Deprecated. - use #createCodeFormatter(Map) instead |
static IScanner |
createScanner(boolean tokenizeComments,
boolean tokenizeWhiteSpace,
boolean assertMode,
boolean recordLineSeparator)
Create a scanner, indicating the level of detail requested for tokenizing. |
static IScanner |
createScanner(boolean tokenizeComments,
boolean tokenizeWhiteSpace,
boolean recordLineSeparator,
String sourceLevel)
Create a scanner, indicating the level of detail requested for tokenizing. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ToolFactory()
Method Detail |
public static ICodeFormatter createCodeFormatter()
ICodeFormatter
,
createDefaultCodeFormatter(Map)
public static CodeFormatter createCodeFormatter(Map options)
options
- - the options map to use for formatting with the default code formatter. Recognized options
are documented on JavaCore#getDefaultOptions()
. If set to null
, then use
the current settings from JavaCore#getOptions
.
CodeFormatter
,
JavaCore.getOptions()
public static ICodeFormatter createDefaultCodeFormatter(Map options)
options
- - the options map to use for formatting with the default code formatter. Recognized options
are documented on JavaCore#getDefaultOptions()
. If set to null
, then use
the current settings from JavaCore#getOptions
.
ICodeFormatter
,
createCodeFormatter()
,
JavaCore.getOptions()
public static IClassFileDisassembler createDefaultClassFileDisassembler()
IClassFileDisassembler
public static ClassFileBytesDisassembler createDefaultClassFileBytesDisassembler()
ClassFileBytesDisassembler
public static IClassFileReader createDefaultClassFileReader(String fileName, int decodingFlag)
fileName
- the name of the file to be readdecodingFlag
- the flag used to decode the class file reader.
IClassFileReader
public static IClassFileReader createDefaultClassFileReader(IClassFile classfile, int decodingFlag)
classfile
- the classfile element to introspectdecodingFlag
- the flag used to decode the class file reader.
IClassFileReader
public static IClassFileReader createDefaultClassFileReader(String zipFileName, String zipEntryName, int decodingFlag)
zipFileName
- the name of the zip filezipEntryName
- the name of the entry in the zip file to be readdecodingFlag
- the flag used to decode the class file reader.
IClassFileReader
public static IScanner createScanner(boolean tokenizeComments, boolean tokenizeWhiteSpace, boolean assertMode, boolean recordLineSeparator)
IScanner scanner = ToolFactory.createScanner(false, false, false, false);
scanner.setSource("int i = 0;".toCharArray());
while (true) {
int token = scanner.getNextToken();
if (token == ITerminalSymbols.TokenNameEOF) break;
System.out.println(token + " : " + new String(scanner.getCurrentTokenSource()));
}
The returned scanner will tolerate unterminated line comments (missing line separator). It can be made stricter
by using API with extra boolean parameter (strictCommentMode
).
tokenizeComments
- if set to false
, comments will be silently consumedtokenizeWhiteSpace
- if set to false
, white spaces will be silently consumed,assertMode
- if set to false
, occurrences of 'assert' will be reported as identifiers
(ITerminalSymbols#TokenNameIdentifier
), whereas if set to true
, it
would report assert keywords (ITerminalSymbols#TokenNameassert
). Java 1.4 has introduced
a new 'assert' keyword.recordLineSeparator
- if set to true
, the scanner will record positions of encountered line
separator ends. In case of multi-character line separators, the last character position is considered. These positions
can then be extracted using IScanner#getLineEnds
. Only non-unicode escape sequences are
considered as valid line separators.
IScanner
public static IScanner createScanner(boolean tokenizeComments, boolean tokenizeWhiteSpace, boolean recordLineSeparator, String sourceLevel)
IScanner scanner = ToolFactory.createScanner(false, false, false, false);
scanner.setSource("int i = 0;".toCharArray());
while (true) {
int token = scanner.getNextToken();
if (token == ITerminalSymbols.TokenNameEOF) break;
System.out.println(token + " : " + new String(scanner.getCurrentTokenSource()));
}
The returned scanner will tolerate unterminated line comments (missing line separator). It can be made stricter
by using API with extra boolean parameter (strictCommentMode
).
tokenizeComments
- if set to false
, comments will be silently consumedtokenizeWhiteSpace
- if set to false
, white spaces will be silently consumed,recordLineSeparator
- if set to true
, the scanner will record positions of encountered line
separator ends. In case of multi-character line separators, the last character position is considered. These positions
can then be extracted using IScanner#getLineEnds
. Only non-unicode escape sequences are
considered as valid line separators.sourceLevel
- if set to "1.3"
or null
, occurrences of 'assert' will be reported as identifiers
(ITerminalSymbols#TokenNameIdentifier
), whereas if set to "1.4"
, it
would report assert keywords (ITerminalSymbols#TokenNameassert
). Java 1.4 has introduced
a new 'assert' keyword.
IScanner
|
Eclipse JDT Release 3.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |