system/src/sc/lang/java/IdentifierExpression.java
static Object resolveType(Object type, int ix, IdentifierType[] idTypes) {
      if (type instanceof ITypeDeclaration) {
         boolean isSuper = idTypes[ix] == IdentifierType.SuperExpression;
         ITypeDeclaration itype = (ITypeDeclaration) type;
         if (itype instanceof BodyTypeDeclaration) {
            BodyTypeDeclaration btype = (BodyTypeDeclaration) itype;
            /*
            // Don't use modified replacedBy's here when we have a super expression - we mapped to a specific type
            // in that case.  We do still have to skip replaced types of course so we pass false when isSuper=true
            if (btype.replacedByType != null && (btype.replaced || isSuper))
               return btype.resolve(!isSuper);
            */
            if (btype.replacedByType != null)
               return btype.resolve(!isSuper);
         }
         else
            return itype.resolve(!isSuper);
      }
      return type;
   }
/**
    * Make sure we always return the most up-to-date version of the type before we return it.  The special case is for
    * super exprs.  In that case, only skip deleted types.
    */
Make sure we always return the most up-to-date version of the type before we return it.  The special case is for
super exprs.  In that case, only skip deleted types.
Make sure we always return the most up - to - date version of the type before we return it . The special case is for super exprs . In that case only skip deleted types .
static Object resolveType(Object type, int ix, IdentifierType[] idTypes) {
      if (type instanceof ITypeDeclaration) {
         boolean isSuper = idTypes[ix] == IdentifierType.SuperExpression;
         ITypeDeclaration itype = (ITypeDeclaration) type;
         if (itype instanceof BodyTypeDeclaration) {
            BodyTypeDeclaration btype = (BodyTypeDeclaration) itype;
            /*
            // Don't use modified replacedBy's here when we have a super expression - we mapped to a specific type
            // in that case.  We do still have to skip replaced types of course so we pass false when isSuper=true
            if (btype.replacedByType != null && (btype.replaced || isSuper))
               return btype.resolve(!isSuper);
            */
            if (btype.replacedByType != null)
               return btype.resolve(!isSuper);
         }
         else
            return itype.resolve(!isSuper);
      }
      return type;
   }
static Object resolveType ( Object type , int ix , IdentifierType [ ] idTypes ) { if ( type instanceof ITypeDeclaration ) { boolean isSuper = idTypes [ ix ] == IdentifierType . SuperExpression ; ITypeDeclaration itype = ( ITypeDeclaration ) type ; if ( itype instanceof BodyTypeDeclaration ) { BodyTypeDeclaration btype = ( BodyTypeDeclaration ) itype ; /*
            // Don't use modified replacedBy's here when we have a super expression - we mapped to a specific type
            // in that case.  We do still have to skip replaced types of course so we pass false when isSuper=true
            if (btype.replacedByType != null && (btype.replaced || isSuper))
               return btype.resolve(!isSuper);
            */ if ( btype . replacedByType != null ) return btype . resolve ( ! isSuper ) ; } else return itype . resolve ( ! isSuper ) ; } return type ; }
Make sure we always return the most up-to-date version of the type before we return it.
Make sure we always return the most up - to - date version of the type before we return it .