[prev in list] [next in list] [prev in thread] [next in thread] 

List:       groovy-scm
Subject:    [groovy-scm] [scm-git][8/8] GROOVY-6739: Allow to implement and register a type checking extension a
From:       Cedric Champeau <git () codehaus ! org>
Date:       2014-05-31 20:56:41
Message-ID: 20140531205641.B66D7B10BA () codehaus01 ! managed ! contegix ! com
[Download RAW message or body]

commit 14791b7a3c16ccc9a963b327b97990c1c85c5480
Author:     Cedric Champeau <cedric.champeau@gmail.com>
AuthorDate: Sat, 31 May 2014 22:55:58 +0200
Commit:     Cedric Champeau <cedric.champeau@gmail.com>
CommitDate: Sat, 31 May 2014 22:55:58 +0200

    GROOVY-6739: Allow to implement and register a type checking extension as a \
subclass of TypeCheckingExtension

diff --git a/src/main/org/codehaus/groovy/transform/stc/DefaultTypeCheckingExtension.java \
b/src/main/org/codehaus/groovy/transform/stc/DefaultTypeCheckingExtension.java index \
                11d4713..b2e5edd 100644
--- a/src/main/org/codehaus/groovy/transform/stc/DefaultTypeCheckingExtension.java
+++ b/src/main/org/codehaus/groovy/transform/stc/DefaultTypeCheckingExtension.java
@@ -22,6 +22,7 @@ import org.codehaus.groovy.ast.MethodNode;
 import org.codehaus.groovy.ast.expr.*;
 import org.codehaus.groovy.ast.stmt.ReturnStatement;
 
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
@@ -170,7 +171,9 @@ public class DefaultTypeCheckingExtension extends \
TypeCheckingExtension {  
     @Override
     public void setup() {
-        for (TypeCheckingExtension handler : handlers) {
+        ArrayList<TypeCheckingExtension> copy = new \
ArrayList<TypeCheckingExtension>(handlers); +        // we're using a copy here \
because new extensions can be added during the "setup" phase +        for \
(TypeCheckingExtension handler : copy) {  handler.setup();
         }
     }
diff --git a/src/main/org/codehaus/groovy/transform/stc/GroovyTypeCheckingExtensionSupport.java \
b/src/main/org/codehaus/groovy/transform/stc/GroovyTypeCheckingExtensionSupport.java \
                index f249f8b..1876e22 100644
--- a/src/main/org/codehaus/groovy/transform/stc/GroovyTypeCheckingExtensionSupport.java
                
+++ b/src/main/org/codehaus/groovy/transform/stc/GroovyTypeCheckingExtensionSupport.java
 @@ -32,6 +32,8 @@ import org.codehaus.groovy.runtime.InvokerHelper;
 import org.objectweb.asm.Opcodes;
 
 import java.io.*;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
 import java.util.*;
 import java.util.concurrent.Callable;
 import java.util.logging.Logger;
@@ -111,17 +113,33 @@ public class GroovyTypeCheckingExtensionSupport extends \
                AbstractTypeCheckingExte
             Class<?> clazz = transformLoader.loadClass(scriptPath, false, true);
             if (TypeCheckingDSL.class.isAssignableFrom(clazz)) {
                 script = (TypeCheckingDSL) clazz.newInstance();
+            } else if (TypeCheckingExtension.class.isAssignableFrom(clazz)) {
+                // since 2.4, we can also register precompiled type checking \
extensions which are not scripts +                try {
+                    Constructor<?> declaredConstructor = \
clazz.getDeclaredConstructor(StaticTypeCheckingVisitor.class); +                    \
TypeCheckingExtension extension = (TypeCheckingExtension) \
declaredConstructor.newInstance(typeCheckingVisitor); +                    \
typeCheckingVisitor.addTypeCheckingExtension(extension); +                    \
extension.setup(); +                    return;
+                } catch (InstantiationException e) {
+                    addLoadingError(config);
+                } catch (IllegalAccessException e) {
+                    addLoadingError(config);
+                } catch (NoSuchMethodException e) {
+                    context.getErrorCollector().addFatalError(
+                            new SimpleMessage("Static type checking extension '" + \
scriptPath + "' could not be loaded because it doesn't have a constructor accepting \
StaticTypeCheckingVisitor.", +                                    config.getDebug(), \
typeCheckingVisitor.getSourceUnit()) +                    );
+                } catch (InvocationTargetException e) {
+                    addLoadingError(config);
+                }
             }
         } catch (ClassNotFoundException e) {
             // silent
         } catch (InstantiationException e) {
-            context.getErrorCollector().addFatalError(
-                    new SimpleMessage("Static type checking extension '" + \
                scriptPath + "' could not be loaded.",
-                            config.getDebug(), \
typeCheckingVisitor.getSourceUnit())); +            addLoadingError(config);
         } catch (IllegalAccessException e) {
-            context.getErrorCollector().addFatalError(
-                    new SimpleMessage("Static type checking extension '" + \
                scriptPath + "' could not be loaded.",
-                            config.getDebug(), \
typeCheckingVisitor.getSourceUnit())); +            addLoadingError(config);
         }
         if (script==null) {
             ClassLoader cl = typeCheckingVisitor.getSourceUnit().getClassLoader();
@@ -165,6 +183,13 @@ public class GroovyTypeCheckingExtensionSupport extends \
AbstractTypeCheckingExte  }
     }
 
+    private void addLoadingError(final CompilerConfiguration config) {
+        context.getErrorCollector().addFatalError(
+                new SimpleMessage("Static type checking extension '" + scriptPath + \
"' could not be loaded.", +                        config.getDebug(), \
typeCheckingVisitor.getSourceUnit()) +        );
+    }
+
     @Override
     public void finish() {
         List<Closure> list = eventHandlers.get("finish");
diff --git a/src/test/groovy/transform/stc/PrecompiledExtensionNotExtendingDSL.groovy \
b/src/test/groovy/transform/stc/PrecompiledExtensionNotExtendingDSL.groovy new file \
mode 100644 index 0000000..da174aa
--- /dev/null
+++ b/src/test/groovy/transform/stc/PrecompiledExtensionNotExtendingDSL.groovy
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2003-2014 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package groovy.transform.stc
+
+import org.codehaus.groovy.ast.MethodNode
+import org.codehaus.groovy.ast.expr.Expression
+import org.codehaus.groovy.transform.stc.AbstractTypeCheckingExtension
+import org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor
+
+class PrecompiledExtensionNotExtendingDSL extends AbstractTypeCheckingExtension {
+
+
+    PrecompiledExtensionNotExtendingDSL(
+            final StaticTypeCheckingVisitor typeCheckingVisitor) {
+        super(typeCheckingVisitor)
+    }
+
+    @Override
+    void setup() {
+        addStaticTypeError('Error thrown from extension in setup', \
context.enclosingClassNode) +    }
+
+    @Override
+    void onMethodSelection(final Expression expression, final MethodNode target) {
+        if (target.name=='println') {
+            addStaticTypeError('Error thrown from extension in onMethodSelection', \
expression.parameters[0]) +        }
+    }
+}
\ No newline at end of file
diff --git a/src/test/groovy/transform/stc/TypeCheckingExtensionsTest.groovy \
b/src/test/groovy/transform/stc/TypeCheckingExtensionsTest.groovy index \
                83ba071..ecdec90 100644
--- a/src/test/groovy/transform/stc/TypeCheckingExtensionsTest.groovy
+++ b/src/test/groovy/transform/stc/TypeCheckingExtensionsTest.groovy
@@ -491,4 +491,16 @@ class TypeCheckingExtensionsTest extends \
StaticTypeCheckingTestCase {  ''', 'Error thrown from extension'
 
     }
+
+    void testPrecompiledExtensionNotExtendingTypeCheckingDSL() {
+        extension = null
+        assertScript '''
+            println 'Everything is ok'
+        '''
+        extension = 'groovy.transform.stc.PrecompiledExtensionNotExtendingDSL'
+        shouldFailWithMessages '''
+            println 'Everything is ok'
+        ''', 'Error thrown from extension in setup', 'Error thrown from extension in \
onMethodSelection' +
+    }
 }


[Attachment #3 (text/html)]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" \
"http://www.w3.org/TR/REC-html40/loose.dtd"> <html style="font-size: 12px;">
<head><meta http-equiv="Content-type" content="text/html; charset=utf-8"></head>
<body style="font-size: 12px;">
<style type="text/css">
dt:after { content: ':' !important; }
> </style>
<dl class="title" style="font-size: 12px; font-family: Verdana; background-color: \
#ddd; padding: 10px;"> <dt style="font-size: 12px; float: left; font-weight: bold; \
min-width: 6em;">Commit</dt> <dd style="font-size: \
12px;">14791b7a3c16ccc9a963b327b97990c1c85c5480</dd> <dt style="font-size: 12px; \
float: left; font-weight: bold; min-width: 6em;">Branch</dt> <dd style="font-size: \
12px;">master</dd> <dt style="font-size: 12px; float: left; font-weight: bold; \
min-width: 6em;">Author</dt> <dd style="font-size: 12px;">Cedric Champeau \
&lt;cedric.champeau@gmail.com&gt;</dd> <dt style="font-size: 12px; float: left; \
font-weight: bold; min-width: 6em;">Date</dt> <dd style="font-size: 12px;">Sat, 31 \
May 2014 22:55:58 +0200</dd> <dt style="font-size: 12px; float: left; font-weight: \
bold; min-width: 6em;">Message</dt> <dd class="" style="font-size: \
12px;">GROOVY-6739: Allow to implement and register a type checking extension as a \
subclass of TypeCheckingExtension</dd> </dl>
<h2 id="src/main/org/codehaus/groovy/transform/stc/DefaultTypeCheckingExtension.java" \
style="font-size: 12px; font-family: Verdana; font-weight: bold; line-height: 25px; \
margin-bottom: 2px; padding-left: 5px; background-color: #bbb;">Changed file \
src/main/org/codehaus/groovy/transform/stc/DefaultTypeCheckingExtension.java</h2>

<table style="font-size: 12px; width: 100%; border-collapse: collapse;">
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">22</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">22</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
org.codehaus.groovy.ast.expr.*;</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">23</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">23</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
org.codehaus.groovy.ast.stmt.ReturnStatement;</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">24</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">24</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">25</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
java.util.ArrayList;</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">25</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">26</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
java.util.Iterator;</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">26</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">27</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
java.util.LinkedList;</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">27</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">28</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
java.util.List;</td> </tr>
<tr class="sep" style="font-size: 12px;"><td class="sep" colspan="3" title="Unchanged \
content skipped between diff. blocks" style="font-size: 12px; color: #000; \
font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; text-align: \
center; border-top-width: 1px; border-top-color: Gray; border-top-style: solid; \
border-bottom-width: 1px; border-bottom-color: Gray; border-bottom-style: solid;" \
align="center">…</td></tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">170</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">171</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">171</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">172</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          @Override</td> \
</tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">172</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">173</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          public  void  \
setup()  {</td> </tr>
<tr class="r" style="font-size: 12px; background-color: #fdd;" bgcolor="#fdd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">173</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc"></td> <td style="font-size: 12px; color: #000; font-family: 'Bitstream \
Vera Sans Mono','Monaco','Courier',monospace;">                  for  \
(TypeCheckingExtension  handler  :  handlers)  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">174</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  \
ArrayList&lt;TypeCheckingExtension&gt;  copy  =  new  \
ArrayList&lt;TypeCheckingExtension&gt;(handlers);</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">175</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  //  we're \
using  a  copy  here  because  new  extensions  can  be  added  during  the  "setup"  \
phase</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">176</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  for  \
(TypeCheckingExtension  handler  :  copy)  {</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">174</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">177</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
handler.setup();</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">175</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">178</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  }</td> \
</tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">176</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">179</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          }</td> </tr>
</table>
<h2 id="src/main/org/codehaus/groovy/transform/stc/GroovyTypeCheckingExtensionSupport.java" \
style="font-size: 12px; font-family: Verdana; font-weight: bold; line-height: 25px; \
margin-bottom: 2px; padding-left: 5px; background-color: #bbb;">Changed file \
src/main/org/codehaus/groovy/transform/stc/GroovyTypeCheckingExtensionSupport.java</h2>


<table style="font-size: 12px; width: 100%; border-collapse: collapse;">
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">32</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">32</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
org.objectweb.asm.Opcodes;</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">33</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">33</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">34</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">34</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  java.io.*;</td> \
</tr> <tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">35</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
java.lang.reflect.Constructor;</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">36</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
java.lang.reflect.InvocationTargetException;</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">35</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">37</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  java.util.*;</td> \
</tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">36</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">38</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
java.util.concurrent.Callable;</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">37</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">39</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
java.util.logging.Logger;</td> </tr>
<tr class="sep" style="font-size: 12px;"><td class="sep" colspan="3" title="Unchanged \
content skipped between diff. blocks" style="font-size: 12px; color: #000; \
font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; text-align: \
center; border-top-width: 1px; border-top-color: Gray; border-top-style: solid; \
border-bottom-width: 1px; border-bottom-color: Gray; border-bottom-style: solid;" \
align="center">…</td></tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">111</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">113</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
Class&lt;?&gt;  clazz  =  transformLoader.loadClass(scriptPath,  false,  true);</td> \
</tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">112</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">114</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
if  (TypeCheckingDSL.class.isAssignableFrom(clazz))  {</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">113</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">115</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
script  =  (TypeCheckingDSL)  clazz.newInstance();</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">116</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          } \
else  if  (TypeCheckingExtension.class.isAssignableFrom(clazz))  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">117</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
//  since  2.4,  we  can  also  register  precompiled  type  checking  extensions  \
which  are  not  scripts</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">118</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
try  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">119</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
Constructor&lt;?&gt;  declaredConstructor  =  \
clazz.getDeclaredConstructor(StaticTypeCheckingVisitor.class);</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">120</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
TypeCheckingExtension  extension  =  (TypeCheckingExtension)  \
declaredConstructor.newInstance(typeCheckingVisitor);</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">121</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
typeCheckingVisitor.addTypeCheckingExtension(extension);</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">122</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
extension.setup();</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">123</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
return;</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">124</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
}  catch  (InstantiationException  e)  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">125</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
addLoadingError(config);</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">126</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
}  catch  (IllegalAccessException  e)  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">127</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
addLoadingError(config);</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">128</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
}  catch  (NoSuchMethodException  e)  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">129</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
context.getErrorCollector().addFatalError(</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">130</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
new  SimpleMessage("Static  type  checking  extension  '"  +  scriptPath  +  "'  \
could  not  be  loaded  because  it  doesn't  have  a  constructor  accepting  \
StaticTypeCheckingVisitor.",</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">131</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
config.getDebug(),  typeCheckingVisitor.getSourceUnit())</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">132</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
);</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">133</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
}  catch  (InvocationTargetException  e)  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">134</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
addLoadingError(config);</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">135</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
}</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">114</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">136</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
}</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">115</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">137</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  }  catch  \
(ClassNotFoundException  e)  {</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">116</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">138</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
//  silent</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">117</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">139</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  }  catch  \
(InstantiationException  e)  {</td> </tr>
<tr class="r" style="font-size: 12px; background-color: #fdd;" bgcolor="#fdd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">118</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc"></td> <td style="font-size: 12px; color: #000; font-family: 'Bitstream \
Vera Sans Mono','Monaco','Courier',monospace;">                          \
context.getErrorCollector().addFatalError(</td> </tr>
<tr class="r" style="font-size: 12px; background-color: #fdd;" bgcolor="#fdd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">119</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc"></td> <td style="font-size: 12px; color: #000; font-family: 'Bitstream \
Vera Sans Mono','Monaco','Courier',monospace;">                                       \
new  SimpleMessage("Static  type  checking  extension  '"  +  scriptPath  +  "'  \
could  not  be  loaded.",</td> </tr>
<tr class="r" style="font-size: 12px; background-color: #fdd;" bgcolor="#fdd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">120</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc"></td> <td style="font-size: 12px; color: #000; font-family: 'Bitstream \
Vera Sans Mono','Monaco','Courier',monospace;">                                       \
config.getDebug(),  typeCheckingVisitor.getSourceUnit()));</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">140</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
addLoadingError(config);</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">121</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">141</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  }  catch  \
(IllegalAccessException  e)  {</td> </tr>
<tr class="r" style="font-size: 12px; background-color: #fdd;" bgcolor="#fdd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">122</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc"></td> <td style="font-size: 12px; color: #000; font-family: 'Bitstream \
Vera Sans Mono','Monaco','Courier',monospace;">                          \
context.getErrorCollector().addFatalError(</td> </tr>
<tr class="r" style="font-size: 12px; background-color: #fdd;" bgcolor="#fdd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">123</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc"></td> <td style="font-size: 12px; color: #000; font-family: 'Bitstream \
Vera Sans Mono','Monaco','Courier',monospace;">                                       \
new  SimpleMessage("Static  type  checking  extension  '"  +  scriptPath  +  "'  \
could  not  be  loaded.",</td> </tr>
<tr class="r" style="font-size: 12px; background-color: #fdd;" bgcolor="#fdd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">124</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc"></td> <td style="font-size: 12px; color: #000; font-family: 'Bitstream \
Vera Sans Mono','Monaco','Courier',monospace;">                                       \
config.getDebug(),  typeCheckingVisitor.getSourceUnit()));</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">142</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
addLoadingError(config);</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">125</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">143</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  }</td> \
</tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">126</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">144</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  if  \
(script==null)  {</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">127</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">145</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
ClassLoader  cl  =  typeCheckingVisitor.getSourceUnit().getClassLoader();</td> </tr>
<tr class="sep" style="font-size: 12px;"><td class="sep" colspan="3" title="Unchanged \
content skipped between diff. blocks" style="font-size: 12px; color: #000; \
font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; text-align: \
center; border-top-width: 1px; border-top-color: Gray; border-top-style: solid; \
border-bottom-width: 1px; border-bottom-color: Gray; border-bottom-style: solid;" \
align="center">…</td></tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">165</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">183</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  }</td> \
</tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">166</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">184</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          }</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">167</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">185</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">186</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          private  void  \
addLoadingError(final  CompilerConfiguration  config)  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">187</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  \
context.getErrorCollector().addFatalError(</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">188</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
new  SimpleMessage("Static  type  checking  extension  '"  +  scriptPath  +  "'  \
could  not  be  loaded.",</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">189</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                            \
config.getDebug(),  typeCheckingVisitor.getSourceUnit())</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">190</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  );</td> \
</tr> <tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">191</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          }</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">192</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">168</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">193</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          @Override</td> \
</tr> <tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">169</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">194</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          public  void  \
finish()  {</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">170</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">195</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  \
List&lt;Closure&gt;  list  =  eventHandlers.get("finish");</td> </tr>
</table>
<h2 id="src/test/groovy/transform/stc/PrecompiledExtensionNotExtendingDSL.groovy" \
style="font-size: 12px; font-family: Verdana; font-weight: bold; line-height: 25px; \
margin-bottom: 2px; padding-left: 5px; background-color: #bbb;">Added file \
src/test/groovy/transform/stc/PrecompiledExtensionNotExtendingDSL.groovy</h2>

<table style="font-size: 12px; width: 100%; border-collapse: collapse;">
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">1</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  /*</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">2</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *  Copyright  2003-2014 \
the  original  author  or  authors.</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">3</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">4</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *  Licensed  under  the \
Apache  License,  Version  2.0  (the  "License");</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">5</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *  you  may  not  use  \
this  file  except  in  compliance  with  the  License.</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">6</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *  You  may  obtain  a  \
copy  of  the  License  at</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">7</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">8</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *            \
http://www.apache.org/licenses/LICENSE-2.0</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">9</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">10</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *  Unless  required  by \
applicable  law  or  agreed  to  in  writing,  software</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">11</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *  distributed  under  \
the  License  is  distributed  on  an  "AS  IS"  BASIS,</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">12</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *  WITHOUT  WARRANTIES  \
OR  CONDITIONS  OF  ANY  KIND,  either  express  or  implied.</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">13</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *  See  the  License  \
for  the  specific  language  governing  permissions  and</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">14</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    *  limitations  under  \
the  License.</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">15</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">    */</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">16</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">17</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  package  \
groovy.transform.stc</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">18</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">19</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
org.codehaus.groovy.ast.MethodNode</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">20</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
org.codehaus.groovy.ast.expr.Expression</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">21</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
org.codehaus.groovy.transform.stc.AbstractTypeCheckingExtension</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">22</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  import  \
org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">23</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">24</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  class  \
PrecompiledExtensionNotExtendingDSL  extends  AbstractTypeCheckingExtension  {</td> \
</tr> <tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">25</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">26</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">27</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          \
PrecompiledExtensionNotExtendingDSL(</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">28</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
final  StaticTypeCheckingVisitor  typeCheckingVisitor)  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">29</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  \
super(typeCheckingVisitor)</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">30</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          }</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">31</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">32</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          @Override</td> \
</tr> <tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">33</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          void  setup()  \
{</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">34</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  \
addStaticTypeError('Error  thrown  from  extension  in  setup',  \
context.enclosingClassNode)</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">35</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          }</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">36</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">37</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          @Override</td> \
</tr> <tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">38</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          void  \
onMethodSelection(final  Expression  expression,  final  MethodNode  target)  {</td> \
</tr> <tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">39</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  if  \
(target.name=='println')  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">40</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
addStaticTypeError('Error  thrown  from  extension  in  onMethodSelection',  \
expression.parameters[0])</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">41</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  }</td> \
</tr> <tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">42</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          }</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">43</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  }</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">0</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">44</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">\  No  newline  at  end  of \
file</td> </tr>
</table>
<h2 id="src/test/groovy/transform/stc/TypeCheckingExtensionsTest.groovy" \
style="font-size: 12px; font-family: Verdana; font-weight: bold; line-height: 25px; \
margin-bottom: 2px; padding-left: 5px; background-color: #bbb;">Changed file \
src/test/groovy/transform/stc/TypeCheckingExtensionsTest.groovy</h2>

<table style="font-size: 12px; width: 100%; border-collapse: collapse;">
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">491</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">491</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  ''',  \
'Error  thrown  from  extension'</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">492</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">492</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">493</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">493</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          }</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">494</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">495</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          void  \
testPrecompiledExtensionNotExtendingTypeCheckingDSL()  {</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">496</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  extension \
=  null</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">497</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  \
assertScript  '''</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">498</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
println  'Everything  is  ok'</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">499</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  '''</td> \
</tr> <tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">500</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  extension \
=  'groovy.transform.stc.PrecompiledExtensionNotExtendingDSL'</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">501</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  \
shouldFailWithMessages  '''</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">502</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                          \
println  'Everything  is  ok'</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">503</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">                  ''',  \
'Error  thrown  from  extension  in  setup',  'Error  thrown  from  extension  in  \
onMethodSelection'</td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">504</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  </td> </tr>
<tr class="a" style="font-size: 12px; background-color: #dfd;" bgcolor="#dfd">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc"></td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">505</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">          }</td> </tr>
<tr style="font-size: 12px;">
<td class="ln" style="font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans \
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; background-color: \
#ccc;" align="right" bgcolor="#ccc">494</td> <td class="ln" style="font-size: 12px; \
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; \
width: 23px; text-align: right; background-color: #ccc;" align="right" \
bgcolor="#ccc">506</td> <td style="font-size: 12px; color: #000; font-family: \
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">  }</td> </tr>
</table>
<br style="font-size: 12px;"><br style="font-size: 12px;">
</body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic