JFlex Support on Mac OSX 10.4
Hi,
I'm using OSX 10.4.11 and IDEA 7.0.3 and I have the actual PlugIn Dev Kit.
I downloaded the JFlex Support in the first place via the IDEA PlugIn interface and then tried version 1.2.0 from the download page.
In both cases I got the following error message:
Bad version number in .class file
...
It seems to be the same that was reported earlier but I can post the whole error output I desired. I'm not sure how to solve the problem as
compiling the source by myself doesnt work too. It seems the parts of the openapi changed
Information:Compilation completed with 13 errors and 9 warnings
Information:13 errors
Information:9 warnings
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/psi/impl/JFlexElementImpl.java
Error:Error:line (20)cannot access com.intellij.psi.impl.ElementBase
file com/intellij/psi/impl/ElementBase.class not found
Error:Error:line (46)cannot find symbol variable this
Error:Error:line (48)cannot find symbol variable super
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/compiler/JFlexSourceGeneratingCompiler.java
Error:Error:line (3)package com.intellij.compiler.impl does not exist
Error:Error:line (94)cannot find symbol variable CompilerUtil
Error:Error:line (138)cannot find symbol method getNode()
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/psi/JFlexPsiFile.java
Error:Error:line (14)cannot access com.intellij.psi.impl.source.PsiFileImpl
file com/intellij/psi/impl/source/PsiFileImpl.class not found
Error:Error:line (25)cannot find symbol method getName()
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/lexer/JFlexParsingLexer.java
Warning:Warning:line (11)[deprecation] getBuffer() in com.intellij.lexer.Lexer has been deprecated
Warning:Warning:line (11)[deprecation] start(char[],int,int,int) in com.intellij.lexer.Lexer has been deprecated
Warning:Warning:line (11)[deprecation] start(char[],int,int) in com.intellij.lexer.Lexer has been deprecated
Warning:Warning:line (11)[deprecation] start(char[]) in com.intellij.lexer.Lexer has been deprecated
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/psi/impl/JFlexStatementImpl.java
Error:Error:line (14)org.intellij.lang.jflex.psi.impl.JFlexStatementImpl is not abstract and does not override abstract method toString() in com.intellij.psi.PsiElement
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/psi/impl/JFlexClassStatementImpl.java
Error:Error:line (16)org.intellij.lang.jflex.psi.impl.JFlexClassStatementImpl is not abstract and does not override abstract method toString() in com.intellij.psi.PsiElement
Error:Error:line (30)cannot find symbol method getNode()
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/lexer/_JFlexLexer.java
Warning:Warning:line (578)[deprecation] reset(java.lang.CharSequence,int) in com.intellij.lexer.FlexLexer has been deprecated
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/lexer/JFlexHighlighterLexer.java
Warning:Warning:line (12)[deprecation] getBuffer() in com.intellij.lexer.Lexer has been deprecated
Warning:Warning:line (12)[deprecation] start(char[],int,int,int) in com.intellij.lexer.Lexer has been deprecated
Warning:Warning:line (12)[deprecation] start(char[],int,int) in com.intellij.lexer.Lexer has been deprecated
Warning:Warning:line (12)[deprecation] start(char[]) in com.intellij.lexer.Lexer has been deprecated
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/psi/impl/JFlexExpressionImpl.java
Error:Error:line (14)org.intellij.lang.jflex.psi.impl.JFlexExpressionImpl is not abstract and does not override abstract method toString() in com.intellij.psi.PsiElement
/Users/patrick/IdeaProjects/JFlex_Support/src/org/intellij/lang/jflex/JFlexParserDefinition.java
Error:Error:line (61)incompatible types
found : org.intellij.lang.jflex.psi.JFlexPsiFile
required: com.intellij.psi.PsiFile
Can someone help me out of that?
Another question is: Where am I supposed to find the information that plugins under OSX are installed in the folder
/Users/MyName/Library/Application Support/IntelliJIDEA70
It took me a while to find out.
Cheers
Patrick
Please sign in to leave a comment.
Hello Patrick,
In order to compile the plugin, you need to add idea.jar to the classpath
of the IDEA JDK you have configured.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Thank you for your advice.
It works now.
For other OSX 10.4 user: I had to copy the jflex.png to /fileTypes/jflex.png at the root of the created jar file. Then copy the jar to
/Users/patrick/Library/Application Support/IntelliJIDEA70
Cheers
Patrick
Patrick, I'm experiencing the same issue, using the 1.3.0 release of the JFlex Support plugin. Can you share the jflex.jar you built?
I rebuild it for IDEA 8.1 myself. The jar is attached. Unfortunately there is a bug on Mac OS X 10.5 when opening the settings panel.
apple.laf.CUIAquaComboBox$ComboBoxUpAction: apple.laf.CUIAquaComboBox$ComboBoxUpAction
java.lang.ClassCastException: apple.laf.CUIAquaComboBox$ComboBoxUpAction
at com.intellij.openapi.fileChooser.ex.FileTextFieldImpl.<init>(FileTextFieldImpl.java:136)
at com.intellij.openapi.fileChooser.ex.FileTextFieldImpl$Vfs.<init>(FileTextFieldImpl.java:10)
at com.intellij.openapi.fileChooser.impl.FileChooserFactoryImpl.installFileCompletion(FileChooserFactoryImpl.java:9)
at org.intellij.lang.jflex.options.JFlexSettingsForm.installAutoCompletion(JFlexSettingsForm.java:67)
at org.intellij.lang.jflex.options.JFlexSettingsForm.<init>(JFlexSettingsForm.java:59)
at org.intellij.lang.jflex.options.JFlexConfigurable.createComponent(JFlexConfigurable.java:39)
at com.intellij.openapi.options.newEditor.OptionsEditor$Simple.<init>(OptionsEditor.java:1)
at com.intellij.openapi.options.newEditor.OptionsEditor.i(OptionsEditor.java:102)
at com.intellij.openapi.options.newEditor.OptionsEditor.access$1000(OptionsEditor.java:69)
at com.intellij.openapi.options.newEditor.OptionsEditor$6.run(OptionsEditor.java)
at com.intellij.openapi.application.impl.ApplicationImpl$5.run(ApplicationImpl.java:8)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:613)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:5)
Attachment(s):
jflex.jar
Well I gave up on the plugin and tried running JFlex and the Lexer it generates doesn't implement all the methods on FlexLexer. I'm using the idea-8.1-dev distribution with IDEA 8.1. What's going on? Were their updates to JFlex that weren't included in the 8.1-dev distribution to support the new abstract methods of FlexLexer?
UPDATE: Found the cause was that I didn't specify the idea-flex.skeleton on my command-line (--skel).
Message was edited by: Brian Jackson