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

5 comments
Comment actions Permalink

Hello Patrick,

In order to compile the plugin, you need to add idea.jar to the classpath
of the IDEA JDK you have configured.

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

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Avatar
Patrick Scheibe
Comment actions Permalink

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

0
Comment actions Permalink

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?

0
Comment actions Permalink

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
0
Comment actions Permalink

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

0

Please sign in to leave a comment.