?? invokenormalmethodfrombuilder_bug657.groovy
字號:
/** * <p> * Test that ensures that: * <ul> * <li>it is possible to write a builder in Groovy</li> * <li>it is possible to call normal methods from the builder, * without the methods being trapped endlessly by createNode()</li> * </ul> * </p> * * @author Guillaume Laforge */class InvokeNormalMethodFromBuilder_Bug657 extends GroovyTestCase { void testInvokeNormalMethod() { def b = new Builder() assert b.callNormalMethod() == "first" def value = b.someNode() {} assert value == "second" }}class Builder extends BuilderSupport { void setParent(Object parent, Object child) {} Object createNode(Object name) { return createNode(name, [:], null) } Object createNode(Object name, Map attributes) { return createNode(name, attributes, null) } Object createNode(Object name, Object value) { return createNode(name, [:], value) } Object createNode(Object name, Map attributes, Object value) { println "create ${name}" return callOtherStaticallyTypedMethod() } String callNormalMethod() { println "normalMethod"; return "first" } String callOtherStaticallyTypedMethod() { println "otherMethod"; return "second" } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -