multipledefinitionofsamevariabletest.groovy
来自「大名鼎鼎的java动态脚本语言。已经通过了sun的认证」· GROOVY 代码 · 共 103 行
GROOVY
103 行
package gls.scopeimport gls.scope.CompilableTestSupportpublic class MultipleDefinitionOfSameVariableTest extends CompilableTestSupport { public void testInSameBlock() { shouldNotCompile(""" def foo = 1 def foo = 2 """) shouldNotCompile(""" class Foo { def foo() { def bar=1 def bar=2 } } """) } public void testInSubblocks() { shouldNotCompile(""" def foo = 1 5.times { def foo=2 } """) shouldNotCompile(""" def foo = 1 label1: { def foo=2 } """) shouldNotCompile(""" def foo = 1 for (i in []) { def foo=2 } """) shouldNotCompile(""" def foo = 1 while (true) { def foo=2 } """) } public void testInNestedClosure() { shouldNotCompile(""" def foo = 1 5.times { 6.times {def foo=2 } """) assertScript (""" def foo = 1 5.times { 6.times {foo=2 } } assert foo == 2 """) } public void testBindingHiding() { assertScript(""" foo = 1 def foo = 3 assert foo==3 assert this.foo == 1 assert binding.foo == 1 """) } public void testBindingAccessInMethod() { assertScript(""" def methodUsingBinding() { try { s = " bbb "; } finally { s = s.trim(); } assert s == "bbb" } methodUsingBinding() assert s == "bbb" """) } public void testMultipleOfSameName() { shouldNotCompile(""" class DoubleField { def zero = 0 public zero = 0 } """) shouldNotCompile(""" class DoubleField { def zero = 0 def zero = 0 } """) } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?