org.eclipse.jdt.internal.eval
Class EvaluationContext

java.lang.Object
  extended by org.eclipse.jdt.internal.eval.EvaluationContext
All Implemented Interfaces:
SuffixConstants, EvaluationConstants

public class EvaluationContext
extends java.lang.Object
implements EvaluationConstants, SuffixConstants

See Also:
IEvaluationContext

Field Summary
 
Fields inherited from interface org.eclipse.jdt.internal.eval.EvaluationConstants
CODE_SNIPPET_CLASS_NAME_PREFIX, CODE_SNIPPET_NAME, DELEGATE_THIS, GLOBAL_VARS_CLASS_NAME_PREFIX, LOCAL_VAR_PREFIX, PACKAGE_NAME, RESULT_TYPE_FIELD, RESULT_VALUE_FIELD, ROOT_CLASS_NAME, ROOT_COMPOUND_NAME, ROOT_FULL_CLASS_NAME, RUN_METHOD, SETRESULT_ARGUMENTS, SETRESULT_SELECTOR
 
Fields inherited from interface org.eclipse.jdt.internal.compiler.util.SuffixConstants
EXTENSION_class, EXTENSION_CLASS, EXTENSION_java, EXTENSION_JAVA, SUFFIX_class, SUFFIX_CLASS, SUFFIX_java, SUFFIX_JAVA, SUFFIX_STRING_class, SUFFIX_STRING_CLASS, SUFFIX_STRING_java, SUFFIX_STRING_JAVA
 
Constructor Summary
EvaluationContext()
          Creates a new evaluation context.
 
Method Summary
 GlobalVariable[] allVariables()
          Returns the global variables of this evaluation context in the order they were created in.
 void complete(char[] codeSnippet, int completionPosition, SearchableEnvironment environment, CompletionRequestor requestor, java.util.Map options, IJavaProject project, WorkingCopyOwner owner)
          Computes a completion at the specified position of the given code snippet.
 void deleteVariable(GlobalVariable variable)
          Deletes the given variable from this evaluation context.
 void evaluate(char[] codeSnippet, char[][] contextLocalVariableTypeNames, char[][] contextLocalVariableNames, int[] contextLocalVariableModifiers, char[] contextDeclaringTypeName, boolean contextIsStatic, boolean contextIsConstructorCall, INameEnvironment environment, java.util.Map options, IRequestor requestor, IProblemFactory problemFactory)
           
 void evaluate(char[] codeSnippet, INameEnvironment environment, java.util.Map options, IRequestor requestor, IProblemFactory problemFactory)
           
 void evaluateImports(INameEnvironment environment, IRequestor requestor, IProblemFactory problemFactory)
           
 void evaluateVariable(GlobalVariable variable, INameEnvironment environment, java.util.Map options, IRequestor requestor, IProblemFactory problemFactory)
           
 void evaluateVariables(INameEnvironment environment, java.util.Map options, IRequestor requestor, IProblemFactory problemFactory)
           
static java.lang.String getCodeSnippetSource()
          Returns the source of the CodeSnippet class.
 char[][] getImports()
          Returns the imports of this evaluation context.
 char[] getPackageName()
          Returns the dot-separated name of the package code snippets are run into.
 char[] getVarClassName()
           
 GlobalVariable newVariable(char[] typeName, char[] name, char[] initializer)
          Creates a new global variable with the given name, type and initializer.
 void select(char[] codeSnippet, int selectionSourceStart, int selectionSourceEnd, SearchableEnvironment environment, ISelectionRequestor requestor, java.util.Map options)
          Computes the selection at the specified positions of the given code snippet.
 void setImports(char[][] imports)
          Sets the imports of this evaluation context.
 void setLineSeparator(java.lang.String lineSeparator)
          Sets the line separator used by this evaluation context.
 void setPackageName(char[] packageName)
          Sets the dot-separated name of the package code snippets are ran into.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EvaluationContext

public EvaluationContext()
Creates a new evaluation context.

Method Detail

allVariables

public GlobalVariable[] allVariables()
Returns the global variables of this evaluation context in the order they were created in.


complete

public void complete(char[] codeSnippet,
                     int completionPosition,
                     SearchableEnvironment environment,
                     CompletionRequestor requestor,
                     java.util.Map options,
                     IJavaProject project,
                     WorkingCopyOwner owner)
Computes a completion at the specified position of the given code snippet. (Note that this evaluation context's VM doesn't need to be running.)

Parameters:
environment - used to resolve type/package references and search for types/packages based on partial names.
requestor - since the engine might produce answers of various forms, the engine is associated with a requestor able to accept all possible completions.
options - set of options used to configure the code assist engine.
owner - the owner of working copies that take precedence over their original compilation units

deleteVariable

public void deleteVariable(GlobalVariable variable)
Deletes the given variable from this evaluation context. This will take effect in the target VM only the next time global variables are installed.


evaluate

public void evaluate(char[] codeSnippet,
                     char[][] contextLocalVariableTypeNames,
                     char[][] contextLocalVariableNames,
                     int[] contextLocalVariableModifiers,
                     char[] contextDeclaringTypeName,
                     boolean contextIsStatic,
                     boolean contextIsConstructorCall,
                     INameEnvironment environment,
                     java.util.Map options,
                     IRequestor requestor,
                     IProblemFactory problemFactory)
              throws InstallException
Throws:
InstallException - if the code snippet class files could not be deployed.
See Also:
IEvaluationContext

evaluate

public void evaluate(char[] codeSnippet,
                     INameEnvironment environment,
                     java.util.Map options,
                     IRequestor requestor,
                     IProblemFactory problemFactory)
              throws InstallException
Throws:
InstallException - if the code snippet class files could not be deployed.
See Also:
IEvaluationContext

evaluateImports

public void evaluateImports(INameEnvironment environment,
                            IRequestor requestor,
                            IProblemFactory problemFactory)
See Also:
IEvaluationContext

evaluateVariable

public void evaluateVariable(GlobalVariable variable,
                             INameEnvironment environment,
                             java.util.Map options,
                             IRequestor requestor,
                             IProblemFactory problemFactory)
                      throws InstallException
Throws:
InstallException - if the code snippet class files could not be deployed.
java.lang.IllegalArgumentException - if the global has not been installed yet.
See Also:
IEvaluationContext

evaluateVariables

public void evaluateVariables(INameEnvironment environment,
                              java.util.Map options,
                              IRequestor requestor,
                              IProblemFactory problemFactory)
                       throws InstallException
Throws:
InstallException - if the code snippet class files could not be deployed.
See Also:
IEvaluationContext

getCodeSnippetSource

public static java.lang.String getCodeSnippetSource()
Returns the source of the CodeSnippet class. This is used to generate the binary of the CodeSnippetClass


getImports

public char[][] getImports()
Returns the imports of this evaluation context. An import is the name of a package or the fully qualified name of a type as defined in the import statement of a compilation unit.


getPackageName

public char[] getPackageName()
Returns the dot-separated name of the package code snippets are run into. Returns an empty array for the default package. This is the default if the package name has never been set.


getVarClassName

public char[] getVarClassName()

newVariable

public GlobalVariable newVariable(char[] typeName,
                                  char[] name,
                                  char[] initializer)
Creates a new global variable with the given name, type and initializer. If the variable is not initialized, the initializer can be null. Note that this doesn't install it to this evaluation context's VM.

See Also:
GlobalVariable

select

public void select(char[] codeSnippet,
                   int selectionSourceStart,
                   int selectionSourceEnd,
                   SearchableEnvironment environment,
                   ISelectionRequestor requestor,
                   java.util.Map options)
Computes the selection at the specified positions of the given code snippet. (Note that this evaluation context's VM doesn't need to be running.)

Parameters:
codeSnippet - char[] The code snipper source
selectionSourceStart - int
selectionSourceEnd - int
environment - org.eclipse.jdt.internal.core.SearchableEnvironment used to resolve type/package references and search for types/packages based on partial names.
requestor - org.eclipse.jdt.internal.codeassist.ISelectionRequestor since the engine might produce answers of various forms, the engine is associated with a requestor able to accept all possible selections.
options - java.util.Map set of options used to configure the code assist engine.

setImports

public void setImports(char[][] imports)
Sets the imports of this evaluation context. An import is the name of a package or the fully qualified name of a type as defined in the import statement of a compilation unit (see the Java Language Specifications for more details).


setLineSeparator

public void setLineSeparator(java.lang.String lineSeparator)
Sets the line separator used by this evaluation context.


setPackageName

public void setPackageName(char[] packageName)
Sets the dot-separated name of the package code snippets are ran into. The default package name is an empty array.