|
From: <jbo...@li...> - 2006-07-08 13:02:25
|
Author: mar...@jb...
Date: 2006-07-08 09:02:20 -0400 (Sat, 08 Jul 2006)
New Revision: 4951
Modified:
labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java
Log:
JBRULES-363 Java 5 language support
Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java 2006-07-08 13:02:09 UTC (rev 4950)
+++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java 2006-07-08 13:02:20 UTC (rev 4951)
@@ -14,6 +14,7 @@
import org.drools.compiler.FunctionError;
import org.drools.compiler.GlobalError;
import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.compiler.ParserError;
import org.drools.compiler.RuleError;
import org.drools.ide.DroolsIDEPlugin;
@@ -133,6 +134,13 @@
return true;
}
+ private static PackageBuilderConfiguration builder_configuration = new PackageBuilderConfiguration();
+
+ public static void setupPackageBuilder(IJavaProject project) {
+ String level = project.getOption(JavaCore.COMPILER_COMPLIANCE, true);
+ builder_configuration.setJavaLanguageLevel(level);
+ }
+
public static DroolsBuildMarker[] parseFile(IFile file, String content) {
List markers = new ArrayList();
DrlParser parser = new DrlParser();
@@ -143,8 +151,10 @@
if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
IJavaProject project = JavaCore.create(file.getProject());
newLoader = ProjectClassLoader.getProjectClassLoader(project);
+ setupPackageBuilder(project);
}
try {
+ builder_configuration.setClassLoader(newLoader);
Thread.currentThread().setContextClassLoader(newLoader);
//First we parse the source
@@ -155,7 +165,7 @@
if (!parser.hasErrors()) {
//now we compile the AST to binary, and process any downstream errors.
- PackageBuilder builder = new PackageBuilder();
+ PackageBuilder builder = new PackageBuilder(builder_configuration);
builder.addPackage(packageDescr);
//downstream errors
markOtherErrors( markers,
|