org.eclipse.internal.xtend.xtend.ast
Class AbstractExtension
java.lang.Object
org.eclipse.internal.xtend.expression.ast.SyntaxElement
org.eclipse.internal.xtend.xtend.ast.AbstractExtension
- All Implemented Interfaces:
- ISyntaxElement, Extension, Callable, ParameterizedCallable
- Direct Known Subclasses:
- AbstractExtensionDefinition, JavaExtensionStatement
public abstract class AbstractExtension
- extends SyntaxElement
- implements Extension
- Author:
- Bernd Kolb, Patrick Schoenbach, Achim Demelt, Darius Jockel, Sebastian Zarnekow, Karsten Thoms
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
file
protected ExtensionFile file
cached
protected boolean cached
returnType
protected Identifier returnType
AbstractExtension
public AbstractExtension(Identifier name,
Identifier returnType,
java.util.List<DeclaredParameter> formalParameters,
boolean cached,
boolean isPrivate)
getFormalParameters
public java.util.List<DeclaredParameter> getFormalParameters()
- Specified by:
getFormalParameters
in interface Extension
getName
public java.lang.String getName()
- Specified by:
getName
in interface Extension
- Specified by:
getName
in interface Callable
getNameIdentifier
public Identifier getNameIdentifier()
getReturnType
public final Type getReturnType(Type[] parameters,
ExecutionContext ctx,
java.util.Set<AnalysationIssue> issues)
- Specified by:
getReturnType
in interface Extension
internalGetReturnType
protected abstract Type internalGetReturnType(Type[] parameters,
ExecutionContext ctx,
java.util.Set<AnalysationIssue> issues)
analyze
public final void analyze(ExecutionContext ctx,
java.util.Set<AnalysationIssue> issues)
- Specified by:
analyze
in interface Extension
analyzeInternal
protected void analyzeInternal(ExecutionContext ctx,
java.util.Set<AnalysationIssue> issues)
evaluate
public java.lang.Object evaluate(java.lang.Object[] parameters,
ExecutionContext ctx)
- Specified by:
evaluate
in interface Extension
setExtensionFile
public final void setExtensionFile(ExtensionFile f)
- Specified by:
setExtensionFile
in interface Extension
getExtensionFile
public ExtensionFile getExtensionFile()
- Specified by:
getExtensionFile
in interface Extension
evaluateInternal
protected abstract java.lang.Object evaluateInternal(java.lang.Object[] parameters,
ExecutionContext ctx)
getParameterNames
public java.util.List<java.lang.String> getParameterNames()
- Specified by:
getParameterNames
in interface Extension
init
public void init(ExecutionContext ctx)
- Specified by:
init
in interface Extension
getReturnType
public Type getReturnType()
- Specified by:
getReturnType
in interface Extension
- Specified by:
getReturnType
in interface Callable
getParameterTypes
public java.util.List<Type> getParameterTypes()
- Specified by:
getParameterTypes
in interface Extension
- Specified by:
getParameterTypes
in interface ParameterizedCallable
getReturnTypeIdentifier
public Identifier getReturnTypeIdentifier()
- Specified by:
getReturnTypeIdentifier
in interface Extension
toString
public java.lang.String toString()
- Specified by:
toString
in interface Extension
- Overrides:
toString
in class java.lang.Object
toOutlineString
public java.lang.String toOutlineString()
- Specified by:
toOutlineString
in interface Extension
isPrivate
public boolean isPrivate()
- Specified by:
isPrivate
in interface Extension
isCached
public boolean isCached()
- Specified by:
isCached
in interface Extension
getQualifiedName
public java.lang.String getQualifiedName()
- Specified by:
getQualifiedName
in interface Extension
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in class java.lang.Object
checkForAmbiguousDefinitions
protected void checkForAmbiguousDefinitions(ExecutionContext ctx,
java.util.Set<AnalysationIssue> issues)