|
Eclipse JDT Release 3.2 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.jdt.core.ToolFactory
public class 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(InputStream stream,
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 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. |
static IScanner |
createScanner(boolean tokenizeComments,
boolean tokenizeWhiteSpace,
boolean recordLineSeparator,
String sourceLevel,
String complianceLevel)
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)
The given options should at least provide the source level (JavaCore.COMPILER_SOURCE),
the compiler compliance level (JavaCore.COMPILER_COMPLIANCE) and the target platform
(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM).
Without these options, it is not possible for the code formatter to know what kind of source it needs to format.
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 ClassFileBytesDisassembler createDefaultClassFileBytesDisassembler()
ClassFileBytesDisassemblerpublic static IClassFileDisassembler createDefaultClassFileDisassembler()
IClassFileDisassembler
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(InputStream stream,
int decodingFlag)
stream - the given input stream to readdecodingFlag - the flag used to decode the class file reader.
IClassFileReader
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(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.
IClassFileReaderpublic 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 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
public static IScanner createScanner(boolean tokenizeComments,
boolean tokenizeWhiteSpace,
boolean recordLineSeparator,
String sourceLevel,
String complianceLevel)
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.complianceLevel - This is used to support the Unicode 4.0 character sets. if set to 1.5 or above,
the Unicode 4.0 is supporte, otherwise Unicode 3.0 is supported.
IScanner
|
Eclipse JDT Release 3.2 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||