weave

package
v0.0.0-...-e45cd4a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2020 License: MIT Imports: 20 Imported by: 1

Documentation

Overview

not sure if we need to keep this in the future

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AbstractVar

type AbstractVar struct {
	Kind string
	Val  string
}

AbstractVar contains the value of a var and it's type Val should prob. be interface refactor refactor refactor

type Advice

type Advice struct {
	// contains filtered or unexported fields
}

Advice has a function to wrap advice around and code for said function

type Aspect

type Aspect struct {
	// contains filtered or unexported fields
}

aspect contains advice, pointcuts and any imports needed

type Pointcut

type Pointcut struct {
	// contains filtered or unexported fields
}

Pointcut describe how to apply a particular aspect

type Weave

type Weave struct {
	// contains filtered or unexported fields
}

Weave is struct runner for aspect transforms

func NewWeave

func NewWeave() *Weave

NewWeave instantiates and returns a new aop

func (*Weave) ParseAST

func (w *Weave) ParseAST(fname string) *ast.File

Parse parses the ast for this file and returns a ParsedFile

func (*Weave) Run

func (w *Weave) Run()

Run preps, grabs advice, transforms the src, and builds the code

func (*Weave) VisitFile

func (w *Weave) VisitFile(fp string, fi os.FileInfo, err error) error

VisitFile walks each file and transforms it's this is fairly heavy/expensive/pos right now

type WithinBlock

type WithinBlock struct {
	// contains filtered or unexported fields
}

WithinBlock contains all the info to perform a withinBlock pointcut

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL