node constructors return concrete type
This commit is contained in:
@@ -11,7 +11,7 @@ type AltElse struct {
|
||||
Stmt node.Node
|
||||
}
|
||||
|
||||
func NewAltElse(Stmt node.Node) node.Node {
|
||||
func NewAltElse(Stmt node.Node) *AltElse {
|
||||
return &AltElse{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type AltElseIf struct {
|
||||
Stmt node.Node
|
||||
}
|
||||
|
||||
func NewAltElseIf(Cond node.Node, Stmt node.Node) node.Node {
|
||||
func NewAltElseIf(Cond node.Node, Stmt node.Node) *AltElseIf {
|
||||
return &AltElseIf{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -14,7 +14,7 @@ type AltIf struct {
|
||||
_else node.Node
|
||||
}
|
||||
|
||||
func NewAltIf(Cond node.Node, Stmt node.Node) node.Node {
|
||||
func NewAltIf(Cond node.Node, Stmt node.Node) *AltIf {
|
||||
return &AltIf{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Break struct {
|
||||
Expr node.Node
|
||||
}
|
||||
|
||||
func NewBreak(Expr node.Node) node.Node {
|
||||
func NewBreak(Expr node.Node) *Break {
|
||||
return &Break{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type Case struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewCase(Cond node.Node, Stmts []node.Node) node.Node {
|
||||
func NewCase(Cond node.Node, Stmts []node.Node) *Case {
|
||||
return &Case{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -13,7 +13,7 @@ type Catch struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewCatch(Types []node.Node, Variable node.Node, Stmts []node.Node) node.Node {
|
||||
func NewCatch(Types []node.Node, Variable node.Node, Stmts []node.Node) *Catch {
|
||||
return &Catch{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -17,7 +17,7 @@ type Class struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewClass(ClassName node.Node, Modifiers []node.Node, args []node.Node, Extends node.Node, Implements []node.Node, Stmts []node.Node, PhpDocComment string) node.Node {
|
||||
func NewClass(ClassName node.Node, Modifiers []node.Node, args []node.Node, Extends node.Node, Implements []node.Node, Stmts []node.Node, PhpDocComment string) *Class {
|
||||
return &Class{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type ClassConstList struct {
|
||||
Consts []node.Node
|
||||
}
|
||||
|
||||
func NewClassConstList(Modifiers []node.Node, Consts []node.Node) node.Node {
|
||||
func NewClassConstList(Modifiers []node.Node, Consts []node.Node) *ClassConstList {
|
||||
return &ClassConstList{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -17,7 +17,7 @@ type ClassMethod struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewClassMethod(MethodName node.Node, Modifiers []node.Node, ReturnsRef bool, Params []node.Node, ReturnType node.Node, Stmts []node.Node, PhpDocComment string) node.Node {
|
||||
func NewClassMethod(MethodName node.Node, Modifiers []node.Node, ReturnsRef bool, Params []node.Node, ReturnType node.Node, Stmts []node.Node, PhpDocComment string) *ClassMethod {
|
||||
return &ClassMethod{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type ConstList struct {
|
||||
Consts []node.Node
|
||||
}
|
||||
|
||||
func NewConstList(Consts []node.Node) node.Node {
|
||||
func NewConstList(Consts []node.Node) *ConstList {
|
||||
return &ConstList{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -13,7 +13,7 @@ type Constant struct {
|
||||
Expr node.Node
|
||||
}
|
||||
|
||||
func NewConstant(ConstantName node.Node, Expr node.Node, PhpDocComment string) node.Node {
|
||||
func NewConstant(ConstantName node.Node, Expr node.Node, PhpDocComment string) *Constant {
|
||||
return &Constant{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Continue struct {
|
||||
Expr node.Node
|
||||
}
|
||||
|
||||
func NewContinue(Expr node.Node) node.Node {
|
||||
func NewContinue(Expr node.Node) *Continue {
|
||||
return &Continue{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type Declare struct {
|
||||
Stmt node.Node
|
||||
}
|
||||
|
||||
func NewDeclare(Consts []node.Node, Stmt node.Node) node.Node {
|
||||
func NewDeclare(Consts []node.Node, Stmt node.Node) *Declare {
|
||||
return &Declare{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Default struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewDefault(Stmts []node.Node) node.Node {
|
||||
func NewDefault(Stmts []node.Node) *Default {
|
||||
return &Default{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type Do struct {
|
||||
Cond node.Node
|
||||
}
|
||||
|
||||
func NewDo(Stmt node.Node, Cond node.Node) node.Node {
|
||||
func NewDo(Stmt node.Node, Cond node.Node) *Do {
|
||||
return &Do{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Echo struct {
|
||||
Exprs []node.Node
|
||||
}
|
||||
|
||||
func NewEcho(Exprs []node.Node) node.Node {
|
||||
func NewEcho(Exprs []node.Node) *Echo {
|
||||
return &Echo{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Else struct {
|
||||
Stmt node.Node
|
||||
}
|
||||
|
||||
func NewElse(Stmt node.Node) node.Node {
|
||||
func NewElse(Stmt node.Node) *Else {
|
||||
return &Else{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type ElseIf struct {
|
||||
Stmt node.Node
|
||||
}
|
||||
|
||||
func NewElseIf(Cond node.Node, Stmt node.Node) node.Node {
|
||||
func NewElseIf(Cond node.Node, Stmt node.Node) *ElseIf {
|
||||
return &ElseIf{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Expression struct {
|
||||
Expr node.Node
|
||||
}
|
||||
|
||||
func NewExpression(Expr node.Node) node.Node {
|
||||
func NewExpression(Expr node.Node) *Expression {
|
||||
return &Expression{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Finally struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewFinally(Stmts []node.Node) node.Node {
|
||||
func NewFinally(Stmts []node.Node) *Finally {
|
||||
return &Finally{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -14,7 +14,7 @@ type For struct {
|
||||
Stmt node.Node
|
||||
}
|
||||
|
||||
func NewFor(Init []node.Node, Cond []node.Node, Loop []node.Node, Stmt node.Node) node.Node {
|
||||
func NewFor(Init []node.Node, Cond []node.Node, Loop []node.Node, Stmt node.Node) *For {
|
||||
return &For{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -15,7 +15,7 @@ type Foreach struct {
|
||||
Stmt node.Node
|
||||
}
|
||||
|
||||
func NewForeach(Expr node.Node, Key node.Node, Variable node.Node, Stmt node.Node, ByRef bool) node.Node {
|
||||
func NewForeach(Expr node.Node, Key node.Node, Variable node.Node, Stmt node.Node, ByRef bool) *Foreach {
|
||||
return &Foreach{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -16,7 +16,7 @@ type Function struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewFunction(FunctionName node.Node, ReturnsRef bool, Params []node.Node, ReturnType node.Node, Stmts []node.Node, PhpDocComment string) node.Node {
|
||||
func NewFunction(FunctionName node.Node, ReturnsRef bool, Params []node.Node, ReturnType node.Node, Stmts []node.Node, PhpDocComment string) *Function {
|
||||
return &Function{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Global struct {
|
||||
Vars []node.Node
|
||||
}
|
||||
|
||||
func NewGlobal(Vars []node.Node) node.Node {
|
||||
func NewGlobal(Vars []node.Node) *Global {
|
||||
return &Global{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Goto struct {
|
||||
Label node.Node
|
||||
}
|
||||
|
||||
func NewGoto(Label node.Node) node.Node {
|
||||
func NewGoto(Label node.Node) *Goto {
|
||||
return &Goto{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -13,7 +13,7 @@ type GroupUse struct {
|
||||
UseList []node.Node
|
||||
}
|
||||
|
||||
func NewGroupUse(UseType node.Node, pRefix node.Node, UseList []node.Node) node.Node {
|
||||
func NewGroupUse(UseType node.Node, pRefix node.Node, UseList []node.Node) *GroupUse {
|
||||
return &GroupUse{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -10,7 +10,7 @@ type HaltCompiler struct {
|
||||
comments *[]comment.Comment
|
||||
}
|
||||
|
||||
func NewHaltCompiler() node.Node {
|
||||
func NewHaltCompiler() *HaltCompiler {
|
||||
return &HaltCompiler{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -14,7 +14,7 @@ type If struct {
|
||||
_else node.Node
|
||||
}
|
||||
|
||||
func NewIf(Cond node.Node, Stmt node.Node) node.Node {
|
||||
func NewIf(Cond node.Node, Stmt node.Node) *If {
|
||||
return &If{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type InlineHtml struct {
|
||||
Value string
|
||||
}
|
||||
|
||||
func NewInlineHtml(Value string) node.Node {
|
||||
func NewInlineHtml(Value string) *InlineHtml {
|
||||
return &InlineHtml{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -14,7 +14,7 @@ type Interface struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewInterface(InterfaceName node.Node, Extends []node.Node, Stmts []node.Node, PhpDocComment string) node.Node {
|
||||
func NewInterface(InterfaceName node.Node, Extends []node.Node, Stmts []node.Node, PhpDocComment string) *Interface {
|
||||
return &Interface{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Label struct {
|
||||
LabelName node.Node
|
||||
}
|
||||
|
||||
func NewLabel(LabelName node.Node) node.Node {
|
||||
func NewLabel(LabelName node.Node) *Label {
|
||||
return &Label{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type Namespace struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewNamespace(NamespaceName node.Node, Stmts []node.Node) node.Node {
|
||||
func NewNamespace(NamespaceName node.Node, Stmts []node.Node) *Namespace {
|
||||
return &Namespace{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -10,7 +10,7 @@ type Nop struct {
|
||||
comments *[]comment.Comment
|
||||
}
|
||||
|
||||
func NewNop() node.Node {
|
||||
func NewNop() *Nop {
|
||||
return &Nop{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -13,7 +13,7 @@ type Property struct {
|
||||
Expr node.Node
|
||||
}
|
||||
|
||||
func NewProperty(Variable node.Node, Expr node.Node, PhpDocComment string) node.Node {
|
||||
func NewProperty(Variable node.Node, Expr node.Node, PhpDocComment string) *Property {
|
||||
return &Property{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type PropertyList struct {
|
||||
Properties []node.Node
|
||||
}
|
||||
|
||||
func NewPropertyList(Modifiers []node.Node, Properties []node.Node) node.Node {
|
||||
func NewPropertyList(Modifiers []node.Node, Properties []node.Node) *PropertyList {
|
||||
return &PropertyList{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Return struct {
|
||||
Expr node.Node
|
||||
}
|
||||
|
||||
func NewReturn(Expr node.Node) node.Node {
|
||||
func NewReturn(Expr node.Node) *Return {
|
||||
return &Return{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Static struct {
|
||||
Vars []node.Node
|
||||
}
|
||||
|
||||
func NewStatic(Vars []node.Node) node.Node {
|
||||
func NewStatic(Vars []node.Node) *Static {
|
||||
return &Static{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type StaticVar struct {
|
||||
Expr node.Node
|
||||
}
|
||||
|
||||
func NewStaticVar(Variable node.Node, Expr node.Node) node.Node {
|
||||
func NewStaticVar(Variable node.Node, Expr node.Node) *StaticVar {
|
||||
return &StaticVar{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type StmtList struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewStmtList(Stmts []node.Node) node.Node {
|
||||
func NewStmtList(Stmts []node.Node) *StmtList {
|
||||
return &StmtList{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -14,7 +14,7 @@ type Switch struct {
|
||||
cases []node.Node
|
||||
}
|
||||
|
||||
func NewSwitch(token token.Token, Cond node.Node, cases []node.Node) node.Node {
|
||||
func NewSwitch(token token.Token, Cond node.Node, cases []node.Node) *Switch {
|
||||
return &Switch{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Throw struct {
|
||||
Expr node.Node
|
||||
}
|
||||
|
||||
func NewThrow(Expr node.Node) node.Node {
|
||||
func NewThrow(Expr node.Node) *Throw {
|
||||
return &Throw{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -13,7 +13,7 @@ type Trait struct {
|
||||
Stmts []node.Node
|
||||
}
|
||||
|
||||
func NewTrait(TraitName node.Node, Stmts []node.Node, PhpDocComment string) node.Node {
|
||||
func NewTrait(TraitName node.Node, Stmts []node.Node, PhpDocComment string) *Trait {
|
||||
return &Trait{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type TraitMethodRef struct {
|
||||
Method node.Node
|
||||
}
|
||||
|
||||
func NewTraitMethodRef(Trait node.Node, Method node.Node) node.Node {
|
||||
func NewTraitMethodRef(Trait node.Node, Method node.Node) *TraitMethodRef {
|
||||
return &TraitMethodRef{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type TraitUse struct {
|
||||
Adaptations []node.Node
|
||||
}
|
||||
|
||||
func NewTraitUse(Traits []node.Node, Adaptations []node.Node) node.Node {
|
||||
func NewTraitUse(Traits []node.Node, Adaptations []node.Node) *TraitUse {
|
||||
return &TraitUse{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -13,7 +13,7 @@ type TraitUseAlias struct {
|
||||
Alias node.Node
|
||||
}
|
||||
|
||||
func NewTraitUseAlias(Ref node.Node, Modifier node.Node, Alias node.Node) node.Node {
|
||||
func NewTraitUseAlias(Ref node.Node, Modifier node.Node, Alias node.Node) *TraitUseAlias {
|
||||
return &TraitUseAlias{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type TraitUsePrecedence struct {
|
||||
Insteadof node.Node
|
||||
}
|
||||
|
||||
func NewTraitUsePrecedence(Ref node.Node, Insteadof node.Node) node.Node {
|
||||
func NewTraitUsePrecedence(Ref node.Node, Insteadof node.Node) *TraitUsePrecedence {
|
||||
return &TraitUsePrecedence{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -13,7 +13,7 @@ type Try struct {
|
||||
Finally node.Node
|
||||
}
|
||||
|
||||
func NewTry(Stmts []node.Node, Catches []node.Node, Finally node.Node) node.Node {
|
||||
func NewTry(Stmts []node.Node, Catches []node.Node, Finally node.Node) *Try {
|
||||
return &Try{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -11,7 +11,7 @@ type Unset struct {
|
||||
Vars []node.Node
|
||||
}
|
||||
|
||||
func NewUnset(Vars []node.Node) node.Node {
|
||||
func NewUnset(Vars []node.Node) *Unset {
|
||||
return &Unset{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -13,7 +13,7 @@ type Use struct {
|
||||
Alias node.Node
|
||||
}
|
||||
|
||||
func NewUse(UseType node.Node, use node.Node, Alias node.Node) node.Node {
|
||||
func NewUse(UseType node.Node, use node.Node, Alias node.Node) *Use {
|
||||
return &Use{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -12,7 +12,7 @@ type UseList struct {
|
||||
Uses []node.Node
|
||||
}
|
||||
|
||||
func NewUseList(UseType node.Node, Uses []node.Node) node.Node {
|
||||
func NewUseList(UseType node.Node, Uses []node.Node) *UseList {
|
||||
return &UseList{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -14,7 +14,7 @@ type While struct {
|
||||
Stmt node.Node
|
||||
}
|
||||
|
||||
func NewWhile(Token token.Token, Cond node.Node, Stmt node.Node) node.Node {
|
||||
func NewWhile(Token token.Token, Cond node.Node, Stmt node.Node) *While {
|
||||
return &While{
|
||||
nil,
|
||||
nil,
|
||||
|
||||
Reference in New Issue
Block a user