public GeneratedClassSearchRequest(IDeclaredElement declaredElement)
        {
            if (declaredElement == null)
            {
                throw new ArgumentNullException("declaredElement");
            }
            Logger.Assert(declaredElement.IsValid(), "declaredElement should be valid");

            mySolution = declaredElement.GetPsiServices().Solution;
            var ruleDeclaration = declaredElement as RuleDeclaration;

            if (ruleDeclaration == null)
            {
                throw new ArgumentNullException("ruleDeclaration");
            }

            if (ruleDeclaration.DerivedClasses.Count() > 0)
            {
                myTarget = new DeclaredElementEnvoy <IDeclaredElement>(ruleDeclaration.DerivedClasses.First());
            }
            else
            {
                myTarget = new DeclaredElementEnvoy <IDeclaredElement>(declaredElement);
            }
        }
示例#2
0
 public UnityEventFunctionQuickDocPresenter(UnityEventFunction eventFunction, string parameterName,
                                            IClrDeclaredElement element,
                                            QuickDocTypeMemberProvider quickDocTypeMemberProvider,
                                            ITheming theming, HelpSystem helpSystem)
 {
     myEventFunction = eventFunction;
     myParameterName = parameterName;
     myQuickDocTypeMemberProvider = quickDocTypeMemberProvider;
     myTheming    = theming;
     myHelpSystem = helpSystem;
     myEnvoy      = new DeclaredElementEnvoy <IClrDeclaredElement>(element);
 }
 public UnityEventFunctionQuickDocPresenter(UnityEventFunction eventFunction, string parameterName,
                                            IClrDeclaredElement element,
                                            QuickDocTypeMemberProvider quickDocTypeMemberProvider,
                                            ITheming theming, HelpSystem helpSystem)
 {
     myEventFunction = eventFunction;
     myParameterName = parameterName;
     myQuickDocTypeMemberProvider = quickDocTypeMemberProvider;
     myTheming = theming;
     myHelpSystem = helpSystem;
     myEnvoy = new DeclaredElementEnvoy<IClrDeclaredElement>(element);
 }
    public TypeInterfaceDescriptor(ITypeElement typeElement, bool instanceOnly) : base(typeElement.GetSolution())
    {
      AutoExpandSingleChild = true;
      myInstanceOnly = instanceOnly;

      // We use standard presenter, but emphasize root element using adorements
      myPresenter = new TypeInterfacePresenter
                      {
                        DrawElementExtensions = true,
                        ShowOccurenceCount = false,
                        PostfixTypeQualification = true
                      };
      myPresenter.PresentAdorements += PresentAdorements;

      // Wrap typeElement with an envoy, so it can survive code changes
      myTypeElementEnvoy = new DeclaredElementEnvoy<ITypeElement>(typeElement);
      MakeModel();
    }
        public TypeInterfaceDescriptor(ITypeElement typeElement, bool instanceOnly) : base(typeElement.GetSolution())
        {
            AutoExpandSingleChild = true;
            myInstanceOnly        = instanceOnly;

            // We use standard presenter, but emphasize root element using adorements
            myPresenter = new TypeInterfacePresenter
            {
                DrawElementExtensions    = true,
                ShowOccurenceCount       = false,
                PostfixTypeQualification = true
            };
            myPresenter.PresentAdorements += PresentAdorements;

            // Wrap typeElement with an envoy, so it can survive code changes
            myTypeElementEnvoy = new DeclaredElementEnvoy <ITypeElement>(typeElement);
            MakeModel();
        }
        public CSharpToPsiSearchRequest(IDeclaredElement declaredElement)
        {
            if (declaredElement == null)
            {
                throw new ArgumentNullException("declaredElement");
            }
            Logger.Assert(declaredElement.IsValid(), "declaredElement should be valid");

            mySolution = declaredElement.GetPsiServices().Solution;


            var @class = declaredElement as IClass;

            if (@class != null)
            {
                myTarget = new DeclaredElementEnvoy <IDeclaredElement>(DerivedDeclaredElementUtil.GetPrimaryDeclaredElementForClass(@class));
            }

            var @method = declaredElement as IMethod;

            if (@method != null)
            {
                myTarget = new DeclaredElementEnvoy <IDeclaredElement>(DerivedDeclaredElementUtil.GetPrimaryDeclaredElementForMethod(@method));
            }

            var @interface = declaredElement as IInterface;

            if (@interface != null)
            {
                myTarget = new DeclaredElementEnvoy <IDeclaredElement>(DerivedDeclaredElementUtil.GetPrimaryDeclaredElementForInterface(@interface));
            }

            var @constructor = declaredElement as IConstructor;

            if (@constructor != null)
            {
                @class = @constructor.GetContainingType() as IClass;

                if (@class != null)
                {
                    myTarget = new DeclaredElementEnvoy <IDeclaredElement>(DerivedDeclaredElementUtil.GetPrimaryDeclaredElementForClass(@class));
                }
            }
        }
示例#7
0
        public TypeInterfaceDescriptor(ITypeElement typeElement, bool instanceOnly, ISolution solution, IUIApplication uiApplication, ITooltipManager tooltipManager, IWindowsHookManager windowsHookManager, IActionManager actionManager)
            : base(solution, uiApplication, tooltipManager, windowsHookManager, actionManager)
        {
            AutoExpandSingleChild = true;
            myInstanceOnly        = instanceOnly;

            // We use standard presenter, but emphasize root element using adorements
            myPresenter = new TypeInterfacePresenter
            {
                DrawElementExtensions    = true,
                ShowOccurenceCount       = false,
                PostfixTypeQualification = true
            };
            myPresenter.PresentAdorements += PresentAdorements;

            // Wrap typeElement with an envoy, so it can survive code changes
            myTypeElementEnvoy = new DeclaredElementEnvoy <ITypeElement>(typeElement);
            MakeModel();
        }
    public GeneratedClassSearchRequest(IDeclaredElement declaredElement)
    {
      if (declaredElement == null)
        throw new ArgumentNullException("declaredElement");
      Logger.Assert(declaredElement.IsValid(), "declaredElement should be valid");

      mySolution = declaredElement.GetPsiServices().Solution;
      var ruleDeclaration = declaredElement as RuleDeclaration;
      if( ruleDeclaration == null)
        throw new ArgumentNullException("ruleDeclaration");

      if (ruleDeclaration.DerivedClasses.Count() > 0)
      {
        myTarget = new DeclaredElementEnvoy<IDeclaredElement>(ruleDeclaration.DerivedClasses.First());
      }
      else
      {
        myTarget = new DeclaredElementEnvoy<IDeclaredElement>(declaredElement);
      }
    }
    public CSharpToPsiSearchRequest(IDeclaredElement declaredElement)
    {
      if (declaredElement == null)
        throw new ArgumentNullException("declaredElement");
      Logger.Assert(declaredElement.IsValid(), "declaredElement should be valid");

      mySolution = declaredElement.GetPsiServices().Solution;


      var @class = declaredElement as IClass;
      if (@class != null)
      {
        myTarget = new DeclaredElementEnvoy<IDeclaredElement>(DerivedDeclaredElementUtil.GetPrimaryDeclaredElementForClass(@class));
      }

      var @method = declaredElement as IMethod;
      if (@method != null)
      {
        myTarget = new DeclaredElementEnvoy<IDeclaredElement>(DerivedDeclaredElementUtil.GetPrimaryDeclaredElementForMethod(@method));
      }

      var @interface = declaredElement as IInterface;
      if (@interface != null)
      {
        myTarget = new DeclaredElementEnvoy<IDeclaredElement>(DerivedDeclaredElementUtil.GetPrimaryDeclaredElementForInterface(@interface));
      }

      var @constructor = declaredElement as IConstructor;

      if(@constructor != null)
      {
        @class = @constructor.GetContainingType() as IClass;

        if(@class != null)
        {
          myTarget = new DeclaredElementEnvoy<IDeclaredElement>(DerivedDeclaredElementUtil.GetPrimaryDeclaredElementForClass(@class));
        }
      }
    }
 public TypeInterfaceModel(DeclaredElementEnvoy<ITypeElement> typeElementEnvoy, bool instanceOnly)
 {
   myTypeElementEnvoy = typeElementEnvoy;
   myInstanceOnly = instanceOnly;
 }
 public TypeInterfaceModel(DeclaredElementEnvoy <ITypeElement> typeElementEnvoy, bool instanceOnly)
 {
     myTypeElementEnvoy = typeElementEnvoy;
     myInstanceOnly     = instanceOnly;
 }