public class Javac extends java.lang.Object implements JavaCompiler
| Modifier and Type | Field and Description |
|---|---|
protected com.sun.tools.javac.util.Context |
context |
protected com.sun.tools.javac.model.JavacElements |
elements |
protected com.sun.tools.javac.tree.TreeMaker |
make |
| Constructor and Description |
|---|
Javac(javax.annotation.processing.ProcessingEnvironment env) |
| Modifier and Type | Method and Description |
|---|---|
com.sun.tools.javac.tree.JCTree.JCAnnotation |
annotation(java.lang.String fullyQualifiedName) |
com.sun.tools.javac.tree.JCTree.JCMethodInvocation |
apply(com.sun.tools.javac.tree.JCTree.JCExpression method,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> arguments)
Create a function application
|
com.sun.tools.javac.tree.JCTree.JCNewArray |
array(com.sun.tools.javac.tree.JCTree.JCExpression type)
Construct an array of specified type
|
com.sun.tools.javac.tree.JCTree.JCArrayAccess |
arrayAccess(com.sun.tools.javac.tree.JCTree.JCExpression indexed,
com.sun.tools.javac.tree.JCTree.JCExpression index) |
com.sun.tools.javac.tree.JCTree.JCAssign |
assign(com.sun.tools.javac.tree.JCTree.JCIdent identifier,
com.sun.tools.javac.tree.JCTree.JCExpression expression) |
com.sun.tools.javac.tree.JCTree.JCBinary |
binary(java.lang.String operation,
com.sun.tools.javac.tree.JCTree.JCExpression lhs,
com.sun.tools.javac.tree.JCTree.JCExpression rhs) |
com.sun.tools.javac.tree.JCTree.JCBlock |
block(com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCStatement> statements) |
com.sun.tools.javac.tree.JCTree.JCExpressionStatement |
call(com.sun.tools.javac.tree.JCTree.JCExpression method,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> arguments)
Create a function invocation expression
|
com.sun.tools.javac.tree.JCTree.JCExpression |
castToType(com.sun.tools.javac.tree.JCTree returnType,
com.sun.tools.javac.tree.JCTree.JCExpression expression) |
com.sun.tools.javac.tree.JCTree.JCCatch |
catchExpression(com.sun.tools.javac.tree.JCTree.JCVariableDecl param,
com.sun.tools.javac.tree.JCTree.JCBlock body) |
com.sun.tools.javac.tree.JCTree.JCVariableDecl |
catchParameter(java.lang.String name,
com.sun.tools.javac.tree.JCTree parent) |
com.sun.tools.javac.tree.JCTree.JCExpression |
declarationType(com.sun.tools.javac.tree.JCTree.JCExpression typeExpression) |
com.sun.tools.javac.tree.JCTree.JCExpression |
defaultValueForType(com.sun.tools.javac.tree.JCTree.JCExpression type)
Returns an expression which evaluates to the default value (Java spec.) of a given type.
|
com.sun.tools.javac.tree.JCTree.JCExpressionStatement |
execute(com.sun.tools.javac.tree.JCTree.JCExpression expression)
Wrap expression into a statement type that can be added to method bodies and so on...
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
expression(java.lang.String... elements) |
com.sun.tools.javac.tree.JCTree.JCExpression |
expression(java.lang.String expr)
In javac, dotted access of any kind, from
java.lang.String to
var.methodName is represented by a fold-left of Select
nodes with the leftmost string represented by a Ident node. |
com.sun.tools.javac.tree.JCTree.JCVariableDecl |
finalVariable(com.sun.tools.javac.tree.JCTree.JCExpression type,
java.lang.String name,
com.sun.tools.javac.tree.JCTree.JCExpression value,
com.sun.tools.javac.tree.JCTree parent)
Create a finalVariable declaration
|
java.lang.String |
fullyQualifiedNameForTypeExpression(com.sun.tools.javac.tree.JCTree.JCExpression typeExpression) |
com.sun.tools.javac.tree.JCTree.JCIdent |
identifier(java.lang.String name) |
com.sun.tools.javac.tree.JCTree.JCStatement |
ifCondition(com.sun.tools.javac.tree.JCTree.JCExpression condition,
com.sun.tools.javac.tree.JCTree.JCStatement then) |
boolean |
isPrimitiveType(com.sun.tools.javac.tree.JCTree.JCExpression type)
Tests whether a javac AST expression resolves to a primitive type.
|
boolean |
isStaticMethod(com.sun.tools.javac.tree.JCTree.JCMethodDecl method) |
com.sun.tools.javac.tree.JCTree.JCLiteral |
literal(java.lang.Object value)
Return a "constant" value expression for a given value.
|
protected com.sun.tools.javac.tree.JCTree.JCNewArray |
makeArray(com.sun.tools.javac.tree.JCTree.JCExpression type,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> dimensions,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> values)
Constructs and array expression with the specified dimensions and initial values.
|
com.sun.tools.javac.tree.JCTree.JCReturn |
makeReturn(com.sun.tools.javac.tree.JCTree.JCExpression result) |
java.lang.String |
methodName(com.sun.tools.javac.tree.JCTree.JCMethodDecl method)
Extract the name of the method based on the javac representation.
|
com.sun.tools.javac.tree.JCTree.JCExpression |
methodReturnType(com.sun.tools.javac.tree.JCTree.JCMethodDecl method)
Returns the fully qualified type of the return parameter.
|
com.sun.tools.javac.util.Name |
name(java.lang.String identifierName)
Returns an abstraction for internal compiler strings.
|
com.sun.tools.javac.tree.JCTree.JCExpression |
notEqualExpression(com.sun.tools.javac.tree.JCTree.JCExpression lhs,
com.sun.tools.javac.tree.JCTree.JCExpression rhs) |
com.sun.tools.javac.tree.JCTree.JCExpression |
nullLiteral() |
com.sun.tools.javac.tree.JCTree.JCPrimitiveTypeTree |
primitiveType(java.lang.String type) |
com.sun.tools.javac.tree.JCTree.JCThrow |
throwStatement(com.sun.tools.javac.tree.JCTree.JCExpression expr) |
com.sun.tools.javac.tree.JCTree.JCTry |
tryCatchFinally(com.sun.tools.javac.tree.JCTree.JCBlock tryBlock,
com.sun.tools.javac.tree.JCTree.JCCatch catchBlock,
com.sun.tools.javac.tree.JCTree.JCBlock finallyBlock) |
com.sun.tools.javac.tree.JCTree.JCTry |
tryFinally(com.sun.tools.javac.tree.JCTree.JCBlock tryBlock,
com.sun.tools.javac.tree.JCTree.JCBlock finallyBlock) |
java.lang.Class<?> |
wrapperType(com.sun.tools.javac.tree.JCTree.JCPrimitiveTypeTree type)
Returns the wrapper class representation for a javac finalVariable declaration type expression.
|
protected final com.sun.tools.javac.tree.TreeMaker make
protected final com.sun.tools.javac.model.JavacElements elements
protected final com.sun.tools.javac.util.Context context
public java.lang.String fullyQualifiedNameForTypeExpression(com.sun.tools.javac.tree.JCTree.JCExpression typeExpression)
fullyQualifiedNameForTypeExpression in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCExpression declarationType(com.sun.tools.javac.tree.JCTree.JCExpression typeExpression)
declarationType in interface JavaCompilerpublic boolean isPrimitiveType(com.sun.tools.javac.tree.JCTree.JCExpression type)
JavaCompilerisPrimitiveType in interface JavaCompilertype - expression to checkpublic java.lang.Class<?> wrapperType(com.sun.tools.javac.tree.JCTree.JCPrimitiveTypeTree type)
JavaCompilerwrapperType in interface JavaCompilertype - primitive type to wrappublic com.sun.tools.javac.tree.JCTree.JCExpression methodReturnType(com.sun.tools.javac.tree.JCTree.JCMethodDecl method)
JavaCompilermethodReturnType in interface JavaCompilermethod - used for introspectionpublic java.lang.String methodName(com.sun.tools.javac.tree.JCTree.JCMethodDecl method)
JavaCompilermethodName in interface JavaCompilermethod - used for introspectionpublic com.sun.tools.javac.tree.JCTree.JCExpression expression(java.lang.String expr)
JavaCompilerjava.lang.String to
var.methodName is represented by a fold-left of Select
nodes with the leftmost string represented by a Ident node. This
method generates such an expression.
For example, maker.Select(maker.Select(maker.Ident(NAME[java]),
NAME[lang]), NAME[String]).expression in interface JavaCompilerexpr - Java expression to be built into an ASTJCTree.JCIdent,
JCTree.JCFieldAccessprotected com.sun.tools.javac.tree.JCTree.JCExpression expression(java.lang.String... elements)
public com.sun.tools.javac.util.Name name(java.lang.String identifierName)
JavaCompilername in interface JavaCompileridentifierName - identifier nameName,
Name.Tablepublic com.sun.tools.javac.tree.JCTree.JCNewArray array(com.sun.tools.javac.tree.JCTree.JCExpression type)
JavaCompilerarray in interface JavaCompilertype - fully qualified name of the type, such as java.lang.Objectprotected com.sun.tools.javac.tree.JCTree.JCNewArray makeArray(com.sun.tools.javac.tree.JCTree.JCExpression type,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> dimensions,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> values)
type - Type of the constructed arraydimensions - dimensions Dimensions of the arrayvalues - Initial values of the arraypublic com.sun.tools.javac.tree.JCTree.JCLiteral literal(java.lang.Object value)
JavaCompilerliteral in interface JavaCompilervalue - the value to be represented as a constantpublic com.sun.tools.javac.tree.JCTree.JCIdent identifier(java.lang.String name)
identifier in interface JavaCompilername - name of the identifier to be constructedpublic com.sun.tools.javac.tree.JCTree.JCExpressionStatement call(com.sun.tools.javac.tree.JCTree.JCExpression method,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> arguments)
JavaCompilercall in interface JavaCompilermethod - method to be calledarguments - input arguments for the methodpublic com.sun.tools.javac.tree.JCTree.JCMethodInvocation apply(com.sun.tools.javac.tree.JCTree.JCExpression method,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> arguments)
JavaCompilerapply in interface JavaCompilermethod - method application targetarguments - arguments to be applied to a methodpublic com.sun.tools.javac.tree.JCTree.JCVariableDecl finalVariable(com.sun.tools.javac.tree.JCTree.JCExpression type,
java.lang.String name,
com.sun.tools.javac.tree.JCTree.JCExpression value,
com.sun.tools.javac.tree.JCTree parent)
JavaCompilerfinalVariable in interface JavaCompilertype - type of the finalVariablename - name of the finalVariablevalue - right side part of the finalVariable declarationparent - scope that the variable should belong topublic com.sun.tools.javac.tree.JCTree.JCVariableDecl catchParameter(java.lang.String name,
com.sun.tools.javac.tree.JCTree parent)
catchParameter in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCAssign assign(com.sun.tools.javac.tree.JCTree.JCIdent identifier,
com.sun.tools.javac.tree.JCTree.JCExpression expression)
assign in interface JavaCompileridentifier - left hand side of the assign operationexpression - right hand side of the assign operationpublic com.sun.tools.javac.tree.JCTree.JCExpressionStatement execute(com.sun.tools.javac.tree.JCTree.JCExpression expression)
JavaCompilerexecute in interface JavaCompilerexpression - expression to wrappublic com.sun.tools.javac.tree.JCTree.JCThrow throwStatement(com.sun.tools.javac.tree.JCTree.JCExpression expr)
throwStatement in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCStatement ifCondition(com.sun.tools.javac.tree.JCTree.JCExpression condition,
com.sun.tools.javac.tree.JCTree.JCStatement then)
ifCondition in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCBlock block(com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCStatement> statements)
block in interface JavaCompilerstatements - list of statements to enclosepublic com.sun.tools.javac.tree.JCTree.JCTry tryFinally(com.sun.tools.javac.tree.JCTree.JCBlock tryBlock,
com.sun.tools.javac.tree.JCTree.JCBlock finallyBlock)
tryFinally in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCTry tryCatchFinally(com.sun.tools.javac.tree.JCTree.JCBlock tryBlock,
com.sun.tools.javac.tree.JCTree.JCCatch catchBlock,
com.sun.tools.javac.tree.JCTree.JCBlock finallyBlock)
tryCatchFinally in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCCatch catchExpression(com.sun.tools.javac.tree.JCTree.JCVariableDecl param,
com.sun.tools.javac.tree.JCTree.JCBlock body)
catchExpression in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCExpression notEqualExpression(com.sun.tools.javac.tree.JCTree.JCExpression lhs,
com.sun.tools.javac.tree.JCTree.JCExpression rhs)
notEqualExpression in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCExpression defaultValueForType(com.sun.tools.javac.tree.JCTree.JCExpression type)
JavaCompilerdefaultValueForType in interface JavaCompilertype - Type of the default valuepublic com.sun.tools.javac.tree.JCTree.JCExpression nullLiteral()
nullLiteral in interface JavaCompilerpublic boolean isStaticMethod(com.sun.tools.javac.tree.JCTree.JCMethodDecl method)
isStaticMethod in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCAnnotation annotation(java.lang.String fullyQualifiedName)
annotation in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCPrimitiveTypeTree primitiveType(java.lang.String type)
primitiveType in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCBinary binary(java.lang.String operation,
com.sun.tools.javac.tree.JCTree.JCExpression lhs,
com.sun.tools.javac.tree.JCTree.JCExpression rhs)
binary in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCReturn makeReturn(com.sun.tools.javac.tree.JCTree.JCExpression result)
makeReturn in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCExpression castToType(com.sun.tools.javac.tree.JCTree returnType,
com.sun.tools.javac.tree.JCTree.JCExpression expression)
castToType in interface JavaCompilerpublic com.sun.tools.javac.tree.JCTree.JCArrayAccess arrayAccess(com.sun.tools.javac.tree.JCTree.JCExpression indexed,
com.sun.tools.javac.tree.JCTree.JCExpression index)
arrayAccess in interface JavaCompiler