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, |