Skip to content
This repository has been archived by the owner on Jan 16, 2021. It is now read-only.

Functions inherited from embedded members not displayed #664

Open
hiranya911 opened this issue Dec 19, 2019 · 2 comments
Open

Functions inherited from embedded members not displayed #664

hiranya911 opened this issue Dec 19, 2019 · 2 comments

Comments

@hiranya911
Copy link

hiranya911 commented Dec 19, 2019

Example: https://godoc.org/firebase.google.com/go/auth

Both auth.Client and auth.TenantClient has many exported members that are inherited from various embedded members. None of these are displayed on the generated output.

I see that this has happened before (#25) and was fixed, but it seems to be happening again.

Output from running go doc -all locally:

type Client struct {
        TenantManager *TenantManager

        // Has unexported fields.
}
    Client is the interface for the Firebase auth service.

    Client facilitates generating custom JWT tokens for Firebase clients, and
    verifying ID tokens issued by Firebase backend services.

func NewClient(ctx context.Context, conf *internal.AuthConfig) (*Client, error)
    NewClient creates a new instance of the Firebase Auth Client.

    This function can only be invoked from within the SDK. Client applications
    should access the Auth service through firebase.App.

func (c Client) CreateOIDCProviderConfig(ctx context.Context, config *OIDCProviderConfigToCreate) (*OIDCProviderConfig, error)
    CreateOIDCProviderConfig creates a new OIDC provider config from the given
    parameters.

func (c Client) CreateSAMLProviderConfig(ctx context.Context, config *SAMLProviderConfigToCreate) (*SAMLProviderConfig, error)
    CreateSAMLProviderConfig creates a new SAML provider config from the given
    parameters.

func (c Client) CreateUser(ctx context.Context, user *UserToCreate) (*UserRecord, error)
    CreateUser creates a new user with the specified properties.

func (c *Client) CustomToken(ctx context.Context, uid string) (string, error)

...


type TenantClient struct {
        // Has unexported fields.
}
    TenantClient is used for managing users, configuring SAML/OIDC providers,
    and generating email links for specific tenants.

    Before multi-tenancy can be used in a Google Cloud Identity Platform
    project, tenants must be enabled in that project via the Cloud Console UI.

    Each tenant contains its own identity providers, settings and users.
    TenantClient enables managing users and SAML/OIDC configurations of specific
    tenants. It also supports verifying ID tokens issued to users who are signed
    into specific tenants.

    TenantClient instances for a specific tenantID can be instantiated by
    calling [TenantManager.AuthForTenant(tenantID)].

func (c TenantClient) CreateOIDCProviderConfig(ctx context.Context, config *OIDCProviderConfigToCreate) (*OIDCProviderConfig, error)
    CreateOIDCProviderConfig creates a new OIDC provider config from the given
    parameters.

func (c TenantClient) CreateSAMLProviderConfig(ctx context.Context, config *SAMLProviderConfigToCreate) (*SAMLProviderConfig, error)
    CreateSAMLProviderConfig creates a new SAML provider config from the given
    parameters.

func (c TenantClient) CreateUser(ctx context.Context, user *UserToCreate) (*UserRecord, error)
    CreateUser creates a new user with the specified properties.

func (c TenantClient) DeleteOIDCProviderConfig(ctx context.Context, id string) error
    DeleteOIDCProviderConfig deletes the OIDCProviderConfig with the given ID.

func (c TenantClient) DeleteSAMLProviderConfig(ctx context.Context, id string) error
    DeleteSAMLProviderConfig deletes the SAMLProviderConfig with the given ID.

func (c TenantClient) DeleteUser(ctx context.Context, uid string) error
    DeleteUser deletes the user by the given UID.

func (c TenantClient) EmailSignInLink(
        ctx context.Context, email string, settings *ActionCodeSettings) (string, error)
    EmailSignInLink generates the out-of-band email action link for email link
    sign-in flows, using the action code settings provided.
@hiranya911
Copy link
Author

Problem seems to be occurring with members that are multiple levels nested.

package foo

type Foo struct {
	*bar
}

func (f *Foo) DoFoo() {

}

type bar struct {
	*baz
}

func (b *bar) DoBar() {

}

type baz struct {
}

func (b *baz) DoBaz() {

}

go doc -all on this produces the expected result:

TYPES

type Foo struct {
	// Has unexported fields.
}

func (b Foo) DoBar()

func (b Foo) DoBaz()

func (f *Foo) DoFoo()

But godoc html output will not list DoBaz().

@hiranya911
Copy link
Author

Possibly a known issue as per golang/go#9762 and golang/go#6127

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant