[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 \
<cedric.champeau@gmail.com></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<TypeCheckingExtension> copy = new \
ArrayList<TypeCheckingExtension>(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<?> 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<?> 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<Closure> 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