public class LogicalContainerAwareReentrantTypeResolver extends DefaultReentrantTypeResolver
Modifier and Type | Class and Description |
---|---|
protected static class |
LogicalContainerAwareReentrantTypeResolver.AbstractDemandTypeReferenceProvider |
static class |
LogicalContainerAwareReentrantTypeResolver.AnyTypeReferenceProvider |
class |
LogicalContainerAwareReentrantTypeResolver.DemandTypeReferenceProvider |
protected static class |
LogicalContainerAwareReentrantTypeResolver.LocalVariableCapturerImpl |
NULL
Constructor and Description |
---|
LogicalContainerAwareReentrantTypeResolver() |
Modifier and Type | Method and Description |
---|---|
protected void |
_computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmConstructor constructor) |
protected void |
_computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmDeclaredType type) |
protected void |
_computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmField field) |
protected void |
_computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmOperation operation) |
protected void |
_doPrepare(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmConstructor constructor,
java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext) |
protected void |
_doPrepare(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmDeclaredType type,
java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByType) |
protected void |
_doPrepare(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmField field,
java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext) |
protected void |
_doPrepare(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmOperation operation,
java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext) |
protected IFeatureScopeSession |
addExtensionFieldsToMemberSession(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmDeclaredType type,
JvmIdentifiableElement thisFeature,
java.util.Set<java.lang.String> seenNames,
java.util.Set<JvmType> seenTypes) |
protected void |
addExtensionProviders(ITypeComputationState state,
java.util.List<JvmFormalParameter> parameters) |
protected IFeatureScopeSession |
addExtensionsToMemberSession(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmDeclaredType type) |
protected IFeatureScopeSession |
addThisAndSuper(IFeatureScopeSession session,
ITypeReferenceOwner owner,
JvmDeclaredType type) |
protected IFeatureScopeSession |
addThisAndSuper(IFeatureScopeSession session,
ITypeReferenceOwner owner,
JvmDeclaredType thisType,
JvmTypeReference superType,
boolean addNestedTypes) |
protected IFeatureScopeSession |
addThisTypeToStaticScope(IFeatureScopeSession session,
JvmDeclaredType type) |
protected void |
computeAnnotationTypes(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmAnnotationTarget annotable) |
protected void |
computeAnnotationTypes(ResolvedTypes resolvedTypes,
IFeatureScopeSession sessions,
JvmExecutable operation) |
protected void |
computeAnnotationTypes(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
java.util.List<JvmAnnotationReference> annotations) |
protected void |
computeLocalTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmFeature feature) |
protected void |
computeMemberTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmDeclaredType type) |
protected void |
computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
org.eclipse.emf.ecore.EObject element) |
protected void |
computeTypes(ResolvedTypes resolvedTypes,
IFeatureScopeSession session) |
protected void |
computeTypes(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
org.eclipse.emf.ecore.EObject element) |
protected JvmTypeReference |
createComputedTypeReference(java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmMember member,
InferredTypeIndicator indicator,
boolean returnType) |
protected XAbstractFeatureCall |
createExtensionProvider(JvmIdentifiableElement thisFeature,
JvmField field) |
protected AbstractReentrantTypeReferenceProvider |
createTypeProvider(java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmMember member,
boolean returnType) |
protected AbstractReentrantTypeReferenceProvider |
createTypeProvider(java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext,
ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmMember member,
XExpression expression,
boolean returnType) |
protected StackedResolvedTypes |
declareTypeParameters(ResolvedTypes resolvedTypes,
JvmIdentifiableElement declarator,
java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext) |
protected void |
doPrepare(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmIdentifiableElement element,
java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext) |
protected LogicalContainerAwareReentrantTypeResolver.AbstractDemandTypeReferenceProvider |
getComputedTypeReference(JvmTypeReference knownType) |
JvmTypeReference |
getExtendedClass(JvmDeclaredType type) |
protected java.util.Set<org.eclipse.emf.ecore.EObject> |
getInferredElements(org.eclipse.emf.ecore.EObject element) |
protected XExpression |
getInferredFrom(JvmTypeReference typeReference)
Returns the expression that will be used to infer the given type from.
|
protected ILogicalContainerProvider |
getLogicalContainerProvider() |
protected LightweightTypeReference |
getReturnTypeOfOverriddenOperation(JvmOperation operation,
ResolvedTypes resolvedTypes,
IFeatureScopeSession session)
Returns
null if the given operation declares it's own return type or if it does not override
another operation. |
protected JvmType |
getRootJvmType() |
protected org.eclipse.emf.ecore.EObject |
getSourceElement(org.eclipse.emf.ecore.EObject element) |
protected boolean |
isExtensionProvider(JvmAnnotationTarget annotatedElement) |
protected boolean |
isHandled(org.eclipse.emf.ecore.EObject context) |
protected boolean |
isHandled(JvmIdentifiableElement identifiableElement) |
protected boolean |
isHandled(XExpression expression) |
protected boolean |
isStatic(JvmIdentifiableElement declarator) |
protected void |
markComputing(JvmTypeReference knownType) |
protected void |
mergeChildTypes(ResolvedTypes childResolvedTypes) |
protected java.util.Map<JvmIdentifiableElement,ResolvedTypes> |
prepare(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession)
Assign computed type references to the identifiable structural elements in the processed type.
|
protected void |
prepareMembers(ResolvedTypes resolvedTypes,
IFeatureScopeSession featureScopeSession,
JvmDeclaredType type,
java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByType) |
protected void |
requestCapturedLocalVariables(JvmTypeReference toBeWrapped,
JvmDeclaredType type,
ResolvedTypes resolvedTypes,
java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext,
IAcceptor<JvmTypeReference> result) |
protected JvmTypeReference |
toJavaCompliantTypeReference(LightweightTypeReference result,
IFeatureScopeSession session) |
protected void |
unmarkComputing(JvmTypeReference knownType) |
_computeTypes, createFeatureScopeTracker, createResolvedTypes, getBatchScopeProvider, getExpressionArgumentFactory, getFeatureScopes, getImplicitlyMessagePart, getInvalidWritableVariableAccessMessage, getIssueSeverities, getRoot, getScopeProviderAccess, getServices, getTypeArgumentMerger, getTypeComputer, getXbaseFactory, initializeFrom, isDisallowedName, isDiscouragedName, isShadowingAllowed, reentrantResolve, resolve, setTypeComputer
toString
public LogicalContainerAwareReentrantTypeResolver()
protected JvmType getRootJvmType()
protected boolean isHandled(JvmIdentifiableElement identifiableElement)
isHandled
in class DefaultReentrantTypeResolver
protected boolean isHandled(XExpression expression)
isHandled
in class DefaultReentrantTypeResolver
protected boolean isHandled(org.eclipse.emf.ecore.EObject context)
isHandled
in class DefaultReentrantTypeResolver
protected java.util.Map<JvmIdentifiableElement,ResolvedTypes> prepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession)
protected void doPrepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmIdentifiableElement element, java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext)
protected void _doPrepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmDeclaredType type, java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByType)
protected void prepareMembers(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmDeclaredType type, java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByType)
protected StackedResolvedTypes declareTypeParameters(ResolvedTypes resolvedTypes, JvmIdentifiableElement declarator, java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext)
protected boolean isStatic(JvmIdentifiableElement declarator)
protected void _doPrepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmField field, java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext)
protected LogicalContainerAwareReentrantTypeResolver.AbstractDemandTypeReferenceProvider getComputedTypeReference(JvmTypeReference knownType)
protected void markComputing(JvmTypeReference knownType)
protected void unmarkComputing(JvmTypeReference knownType)
protected void _doPrepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmConstructor constructor, java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext)
protected void _doPrepare(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmOperation operation, java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext)
protected JvmTypeReference createComputedTypeReference(java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmMember member, InferredTypeIndicator indicator, boolean returnType)
protected AbstractReentrantTypeReferenceProvider createTypeProvider(java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmMember member, boolean returnType)
protected AbstractReentrantTypeReferenceProvider createTypeProvider(java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmMember member, XExpression expression, boolean returnType)
protected XExpression getInferredFrom(JvmTypeReference typeReference)
protected void computeTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession session)
computeTypes
in class DefaultReentrantTypeResolver
protected void computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, org.eclipse.emf.ecore.EObject element)
protected void computeTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, org.eclipse.emf.ecore.EObject element)
computeTypes
in class DefaultReentrantTypeResolver
protected void _computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmField field)
protected void _computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmConstructor constructor)
protected void computeLocalTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmFeature feature)
protected void addExtensionProviders(ITypeComputationState state, java.util.List<JvmFormalParameter> parameters)
protected void _computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmOperation operation)
protected void computeAnnotationTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession sessions, JvmExecutable operation)
protected void mergeChildTypes(ResolvedTypes childResolvedTypes)
protected void computeAnnotationTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmAnnotationTarget annotable)
protected void computeAnnotationTypes(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, java.util.List<JvmAnnotationReference> annotations)
protected void _computeTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmDeclaredType type)
protected void computeMemberTypes(java.util.Map<JvmIdentifiableElement,ResolvedTypes> preparedResolvedTypes, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmDeclaredType type)
protected IFeatureScopeSession addThisAndSuper(IFeatureScopeSession session, ITypeReferenceOwner owner, JvmDeclaredType type)
protected IFeatureScopeSession addThisAndSuper(IFeatureScopeSession session, ITypeReferenceOwner owner, JvmDeclaredType thisType, JvmTypeReference superType, boolean addNestedTypes)
protected IFeatureScopeSession addThisTypeToStaticScope(IFeatureScopeSession session, JvmDeclaredType type)
public JvmTypeReference getExtendedClass(JvmDeclaredType type)
protected IFeatureScopeSession addExtensionsToMemberSession(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmDeclaredType type)
protected IFeatureScopeSession addExtensionFieldsToMemberSession(ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmDeclaredType type, JvmIdentifiableElement thisFeature, java.util.Set<java.lang.String> seenNames, java.util.Set<JvmType> seenTypes)
protected XAbstractFeatureCall createExtensionProvider(JvmIdentifiableElement thisFeature, JvmField field)
protected boolean isExtensionProvider(JvmAnnotationTarget annotatedElement)
protected ILogicalContainerProvider getLogicalContainerProvider()
protected LightweightTypeReference getReturnTypeOfOverriddenOperation(JvmOperation operation, ResolvedTypes resolvedTypes, IFeatureScopeSession session)
null
if the given operation declares it's own return type or if it does not override
another operation.protected org.eclipse.emf.ecore.EObject getSourceElement(org.eclipse.emf.ecore.EObject element)
getSourceElement
in class DefaultReentrantTypeResolver
protected java.util.Set<org.eclipse.emf.ecore.EObject> getInferredElements(org.eclipse.emf.ecore.EObject element)
protected JvmTypeReference toJavaCompliantTypeReference(LightweightTypeReference result, IFeatureScopeSession session)
protected void requestCapturedLocalVariables(JvmTypeReference toBeWrapped, JvmDeclaredType type, ResolvedTypes resolvedTypes, java.util.Map<JvmIdentifiableElement,ResolvedTypes> resolvedTypesByContext, IAcceptor<JvmTypeReference> result)