public class ResolveMemberReference extends GenericResolutionTransformation
DEBUG_OUTPUT
EQUIVALENCE, IDENTITY, NO_PROBLEM
Constructor and Description |
---|
ResolveMemberReference(NameReference reference,
CrossReferenceServiceConfiguration sc) |
Modifier and Type | Method and Description |
---|---|
ProblemReport |
analyze()
Analys a MemberReference.
|
void |
transform() |
debugOut, targetType, toString
execute
attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attach, attachAsArgument, attachAsArgument, attachAsArgument, attachAsArgument, attachAsArgument, attachAsArgument, attachAsArgument, attachAsArgument, attachAsBody, attachAsCondition, attachAsGuard, attachAsInitializer, attachAsLabel, attachAsMessage, attachAsPrefix, attachAsPrefix, attachAsPrefix, attachAsPrefix, attachAsUpdate, detach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttach, doAttachAsArgument, doAttachAsArgument, doAttachAsArgument, doAttachAsArgument, doAttachAsArgument, doAttachAsArgument, doAttachAsArgument, doAttachAsArgument, doAttachAsArgument, doAttachAsBody, doAttachAsCondition, doAttachAsGuard, doAttachAsInitializer, doAttachAsLabel, doAttachAsMessage, doAttachAsPrefix, doAttachAsPrefix, doAttachAsPrefix, doAttachAsPrefix, doAttachAsUpdate, doDetach, doReplace, getChangeHistory, getCrossReferenceSourceInfo, getNameInfo, getProblemReport, getProgramFactory, getServiceConfiguration, getSourceFileRepository, getSourceInfo, isVisible, replace, rollback, setProblemReport, setServiceConfiguration, toString
public ResolveMemberReference(NameReference reference, CrossReferenceServiceConfiguration sc)
public ProblemReport analyze()
class B ... class G<E> { E m() {...} } ... G<B> g = new G<B>(); B b = g.m(); ...The reference
g.m()
is the one under test. Several types
will show up:
declarationType
- the type of the member at its
declaration. Here the type of G.m()
which is
E
.genericFreeDeclaraionType
- the type of the
declaration in a non-generic situation, which is
java.lang.Object
here.kernelType
- if declarationType is an array,
kernelType will be the component type (with all [] removed)actualType
- the type of the member in the
parameterized instance: here the type of G<B>.m()
which is B
.genericFreeType
- if the actualType is a TV itsself,
this is the type that it will be replaced in a non-generic situation (Object
or first boundary).resolvedType
- if there are multiple bounds the
reference might have to be cast to a different one than the first.analyze
in class TwoPassTransformation
public void transform()
transform
in class TwoPassTransformation
Copyright © 2003-2019 The KeY-Project.