public abstract class SLExpressionResolver
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected JavaInfo |
javaInfo |
protected SLResolverManager |
manager |
protected Services |
services |
protected KeYJavaType |
specInClass |
Constructor and Description |
---|
SLExpressionResolver(JavaInfo javaInfo,
SLResolverManager manager,
KeYJavaType specInClass) |
Modifier and Type | Method and Description |
---|---|
private boolean |
areInSamePackage(KeYJavaType kjt1,
KeYJavaType kjt2)
Helper for isVisible().
|
protected abstract boolean |
canHandleReceiver(SLExpression receiver) |
protected abstract SLExpression |
doResolving(SLExpression receiver,
java.lang.String name,
SLParameters parameters)
Resolves property calls on explicit receivers.
|
protected boolean |
isVisible(MemberDeclaration md,
KeYJavaType containingType)
Checks whether the passed member, contained in the passed type,
is visible in specInClass.
|
private boolean |
isVisibleHelper(MemberDeclaration md,
KeYJavaType containingType,
KeYJavaType inType)
Helper for isVisible().
|
SLExpression |
resolve(SLExpression receiver,
java.lang.String name,
SLParameters parameters) |
private java.lang.String |
trimPackageRef(java.lang.String ref)
Cuts off names of enclosing classes from a "package reference".
|
protected final JavaInfo javaInfo
protected final Services services
protected final SLResolverManager manager
protected final KeYJavaType specInClass
public SLExpressionResolver(JavaInfo javaInfo, SLResolverManager manager, KeYJavaType specInClass)
private java.lang.String trimPackageRef(java.lang.String ref)
private boolean areInSamePackage(KeYJavaType kjt1, KeYJavaType kjt2)
private final boolean isVisibleHelper(MemberDeclaration md, KeYJavaType containingType, KeYJavaType inType)
protected final boolean isVisible(MemberDeclaration md, KeYJavaType containingType)
protected abstract SLExpression doResolving(SLExpression receiver, java.lang.String name, SLParameters parameters) throws SLTranslationException
receiver
- receiver (may *not* be null)name
- name of the propertyparameters
- the actual parameters, or null if not applicableSLTranslationException
public final SLExpression resolve(SLExpression receiver, java.lang.String name, SLParameters parameters) throws SLTranslationException
SLTranslationException
protected abstract boolean canHandleReceiver(SLExpression receiver)