2ee3671c36
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.
26 lines
981 B
Go
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"
|
|
)
|