示例#1
0
        public static IResolveInfo CheckMvcResolveResult([NotNull] IResolveInfo result, MvcKind mvcKind)
        {
            if (result == ResolveErrorType.MULTIPLE_CANDIDATES)
            {
                result = ResolveErrorType.DYNAMIC;
            }

            return(result == ResolveErrorType.NOT_RESOLVED
                ? ourMvcResolveErrors.TryGetValue(mvcKind, MvcResolveErrorType.MVC_NOT_RESOLVED)
                : result);
        }
示例#2
0
 private IResolveInfo GetResolveInfo(IResolveInfo resolveInfo)
 {
     return(MvcViewReference <ICSharpLiteralExpression, IMethodDeclaration> .CheckViewResolveResult(
                MvcUtil.CheckMvcResolveResult(resolveInfo, MvcKind.View), this));
 }
示例#3
0
 public void SetResolveError(ResolveInfo resolveInfo)
 {
     this.resolveInfo = resolveInfo;
 }
示例#4
0
 public ResolveResult ResolveWithoutCache(out IResolveInfo resolveInfo)
 {
     // TODO check this code
     return ResolveUtil.ResolveQualifiableReference(this, this, out resolveInfo);
 }
示例#5
0
        public ResolveResult Resolve(ISymbolTable table, IAccessContext context, out IResolveInfo resolveInfo)
        {
            // TODO check this code
            if (table == EmptySymbolTable.INSTANCE)
            {
                resolveInfo = ResolveErrorType.NOT_RESOLVED;
                return ResolveResult.EMPTY;
            }

            #region Filtered table FIX: if filter set is empty it work incorrect

            int mustRun = 0;
            ISymbolFilter[] filters = GetSymbolFilters(out mustRun);

            if (mustRun == 0 && (filters == null || filters.Length == 0))
                return GetResolveResult(table, out resolveInfo);

            #endregion

            return CheckedReferenceImplUtil.Resolve(this, table, out resolveInfo);
        }
示例#6
0
 public ResolveResult GetResolveResult(ISymbolTable symbolTable, out IResolveInfo resolveInfo)
 {
     ResolveResult result = CheckedReferenceImplUtil.GetResolveResult(this, symbolTable, out resolveInfo);
     return result;
 }