Class RootResolvedTypes

  • All Implemented Interfaces:
    IResolvedTypes

    public class RootResolvedTypes
    extends ResolvedTypes
    The root resolved types are the effective result of a type computation. They don't have a parent and should never yield unresolved type references when clients query for types of expressions or identifiables.
    • Constructor Detail

      • RootResolvedTypes

        protected RootResolvedTypes​(DefaultReentrantTypeResolver resolver,
                                    org.eclipse.xtext.util.CancelIndicator monitor)
    • Method Detail

      • resolveUnboundTypeParameters

        public void resolveUnboundTypeParameters()
      • resolveProxies

        public void resolveProxies()
      • addDiagnostics

        public void addDiagnostics​(org.eclipse.emf.ecore.resource.Resource resource)
      • addTypeDiagnostics

        protected void addTypeDiagnostics​(org.eclipse.xtext.util.IAcceptor<? super org.eclipse.xtext.diagnostics.AbstractDiagnostic> acceptor)
      • addTypeDiagnostic

        protected void addTypeDiagnostic​(XExpression expression,
                                         TypeData typeData,
                                         org.eclipse.xtext.util.IAcceptor<? super org.eclipse.xtext.diagnostics.AbstractDiagnostic> acceptor)
      • isIntentionalEarlyExit

        protected boolean isIntentionalEarlyExit​(XExpression expression)
        Returns true for expressions that seem to be early exit expressions, e.g.
           while(condition) {
             if (anotherCondition)
               return value
             changeResultOfFirstCondition
           }
         
      • addLinkingDiagnostics

        protected void addLinkingDiagnostics​(org.eclipse.xtext.util.IAcceptor<? super org.eclipse.xtext.diagnostics.AbstractDiagnostic> acceptor)
      • addQueuedDiagnostics

        protected void addQueuedDiagnostics​(org.eclipse.xtext.util.IAcceptor<? super org.eclipse.xtext.diagnostics.AbstractDiagnostic> acceptor)
      • processDeferredLogic

        protected void processDeferredLogic()