public override ReferenceCollection GetFirstClassReferences()
        {
            if (myReferences == null)
            {
                lock (this)
                {
                    if (myReferences == null)
                    {
                        if (SymbolReference == null)
                        {
                            SymbolReference = new FSharpSymbolReference(this);
                        }

                        var appExpr = PrefixAppExprNavigator.GetByFunctionExpression(this.IgnoreParentParens());
                        if (appExpr == null)
                        {
                            myReferences = new IReference[] { SymbolReference };
                        }
                        else
                        {
                            CtorTypeReference = new ReferenceExpressionTypeReference(this);
                            myReferences      = new IReference[] { SymbolReference, CtorTypeReference };
                        }
                    }
                }
            }

            return(new ReferenceCollection(myReferences));
        }
 protected override void PreInit()
 {
     base.PreInit();
     SymbolReference   = null;
     CtorTypeReference = null;
     myReferences      = null;
 }
Example #3
0
 public FSharpAnonRecordFieldProperty(FSharpSymbolReference reference) =>
Example #4
0
 protected override void PreInit()
 {
     base.PreInit();
     Reference = new CtorReference(this);
 }
Example #5
0
 protected override void PreInit()
 {
     base.PreInit();
     Reference = new TypeExtensionReference(this);
 }
Example #6
0
 protected override void PreInit()
 {
     base.PreInit();
     mySymbolReference = new FSharpSymbolReference(this);
 }
 protected override void PreInit()
 {
     base.PreInit();
     myReference = null;
 }