io.sarl.lang.typesystem
Class SARLReentrantTypeResolver
All Superinterfaces:
org.eclipse.xtext.xbase.typesystem.internal.IReentrantTypeResolver
class SARLReentrantTypeResolver
extends java.lang.Object
Type resolver for SARL.

Redirection of the calls to capacity function: The customized reentrant type resolver is responsible for proper typing function calls for extension fields that are associated to used capacities in order to redirect the capacity's function calls to the internal hidden functions.

Generate Java8 lambda expressions: The Xtend reentrant type resolver does not provide a full support of Java 8 yet. The PR was refused in Xtend project, see Xtend Issue 193. FIXME: Xtext upgrade, Remove this fix when Xtend support Java 8.
Maven Group Identifier:
io.sarl.lang
Maven Artifact Identifier:
compiler
Constructor Summary
Constructor and description
new
Action Summary
Modifier and type Action and description
protected org.eclipse.xtext.xbase.scoping.batch.IFeatureScopeSession addExtensionFieldsToMemberSession(ResolvedTypes,IFeatureScopeSession,JvmDeclaredType,JvmIdentifiableElement,Set<E>,Set<E>)
protected org.eclipse.xtext.xbase.XAbstractFeatureCall createSarlCapacityExtensionProvider(JvmIdentifiableElement,JvmField)
Create the extension provider dedicated to the access to the used capacity functions.
protected java.lang.String getInvalidWritableVariableAccessMessage(XVariableDeclaration,XAbstractFeatureCall,IResolvedTypes)
protected org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReference getSarlCapacityFieldType(IResolvedTypes,JvmField)
Replies the type of the field that represents a SARL capacity buffer.
Constructor Details
new
new
Action Details
addExtensionFieldsToMemberSession(ResolvedTypes,IFeatureScopeSession,JvmDeclaredType,JvmIdentifiableElement,Set<E>,Set<E>)
protected def addExtensionFieldsToMemberSession(ResolvedTypes,IFeatureScopeSession,JvmDeclaredType,JvmIdentifiableElement,Set<E>,Set<E>) : org.eclipse.xtext.xbase.scoping.batch.IFeatureScopeSession
createSarlCapacityExtensionProvider(JvmIdentifiableElement,JvmField)
protected def createSarlCapacityExtensionProvider(JvmIdentifiableElement,JvmField) : org.eclipse.xtext.xbase.XAbstractFeatureCall
Create the extension provider dedicated to the access to the used capacity functions.
Parameters:
thisFeature - the current object.
field - the extension field.
Returns:
the SARL capacity extension provider, or null .
getInvalidWritableVariableAccessMessage(XVariableDeclaration,XAbstractFeatureCall,IResolvedTypes)
protected def getInvalidWritableVariableAccessMessage(XVariableDeclaration,XAbstractFeatureCall,IResolvedTypes) : java.lang.String
getSarlCapacityFieldType(IResolvedTypes,JvmField)
protected def getSarlCapacityFieldType(IResolvedTypes,JvmField) : org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReference
Replies the type of the field that represents a SARL capacity buffer.
Parameters:
resolvedTypes - the resolver of types.
field - the field.
Returns:
the type, never null .