public override Term VisitSymbol(TVoid parameter, Term term, ISymbolId key)
            {
                Field instanceField;

                if (this.TermManager.TryGetInstanceField(term, out instanceField))
                {
                    this.Fields.Add(instanceField);
                }
                return(base.VisitSymbol(parameter, term, key));
            }
Beispiel #2
0
            public override Term VisitSymbol(TVoid parameter, Term term, ISymbolId key)
            {
                if (this.TermManager.TryGetInstanceField(term, out this.lastAccessedField))
                {
                    //Currently we are handling only these types
                    if (PexMeFilter.IsTypeSupported(this.lastAccessedField.Type))
                    {
                        this.Fields.Add(this.lastAccessedField);
                    }
                }

                if (key is ISymbolIdWithType)
                {
                    this.variables.Add((ISymbolIdWithType)key);
                }
                //return term;
                return(base.VisitSymbol(parameter, term, key));
            }
Beispiel #3
0
                public override Term VisitSymbol(TVoid parameter, Term term, ISymbolId key)
                {
                    Field instanceField;

                    if (this.TermManager.TryGetInstanceField(term, out instanceField))
                    {
                        this.Fields.Add(instanceField);
                    }


                    TypeEx objectType;

                    if (key is ISymbolIdWithType)
                    {
                        var type = key as ISymbolIdWithType;
                        Types.Add(type.Type);
                    }
                    return(base.VisitSymbol(parameter, term, key));
                }
Beispiel #4
0
        public override Term VisitSymbol(TVoid parameter, Term term, ISymbolId key)
        {
            //            ISymbolIdFromParameter fromParameter = key as ISymbolIdFromParameter;
            //            if (fromParameter != null &&
            //                fromParameter.Parameter != null)
            //            {
            //                Parameter p = fromParameter.Parameter;
            //                Method m = p.DeclaringMember as Method;
            //                if (m != null)
            //                {
            //                    this.method = m;
            //                    this.parameters.Add(p);
            //                }
            //            }
            Log.AppendLine("In Result track condition extrator: ");
            Log.AppendLine("ISymbolId is " + key.Description + " type: " + key.GetType());
            if (key.GetType().FullName.IndexOf("SymbolId") != -1)
            {
                foundSymbol = true;
            }

//            Log.AppendLine("parameter is " + parameter.GetType());
            if (MetadataFromReflection.GetType(key.GetType()) ==
                MetadataFromReflection.GetType(typeof(PexTrackedResultId)))
            {
                var resultId = key as PexTrackedResultId;
                method       = resultId.CallerMethod;
                location     = resultId.CallerLocation;
                callerOffset = resultId.CallerOffset;
                signature    = resultId.MethodSignature;
                foundSymbol  = true;
            }

            if (MetadataFromReflection.GetType(key.GetType()) ==
                MetadataFromReflection.GetType(typeof(PexTrackedParameterId)))
            {
                var resultId = key as PexTrackedParameterId;
                Log.AppendLine("Parameter is " + resultId.Parameter + " description: " + resultId.Description);
                foundSymbol = true;
            }
            return(base.VisitSymbol(parameter, term, key));
        }