pulumi/pkg/pack/symbols/symbols.go
joeduffy 2ee3671c36 Progress on the mu describe command
This change makes considerable progress on the `mu describe` command;
the only thing remaining to be implemented now is full IL printing.  It
now prints the full package/module structure.

For example, to print the set of exports from our scenarios/point test:

    $ mujs tools/mujs/tests/output/scenarios/point/ | mu describe - -e
    package "scenarios/point" {
	    dependencies []
	    module "index" {
		    class "Point" [public] {
			    method "add": (other: any): any
			    property "x" [public, readonly]: number
			    property "y" [public, readonly]: number
			    method ".ctor": (x: number, y: number): any
		    }
	    }
    }

This is just a pretty-printed, but is coming in handy with debugging.
2017-01-16 11:47:21 -08:00

26 lines
981 B
Go

// Copyright 2016 Marapongo, Inc. All rights reserved.
// This package contains the core MuIL symbol and token types.
package symbols
// Tokens.
type Token string // a valid symbol token.
type ModuleToken Token // a symbol token that resolves to a module.
type TypeToken Token // a symbol token that resolves to a type.
type VariableToken Token // a symbol token that resolves to a variable.
type FunctionToken Token // a symbol token that resolves to a function.
// Accessibility modifiers.
type Accessibility string // accessibility modifiers common to all.
const (
PublicAccessibility Accessibility = "public"
PrivateAccessibility = "private"
)
type ClassMemberAccessibility Accessibility // accessibility modifiers for class members.
const (
PublicClassAccessibility ClassMemberAccessibility = "public"
PrivateClassAccessibility = "private"
ProtectedClassAccessibility = "protected"
)