I modified the code:

 @Override
public String generate(TreeLogger logger, GeneratorContext context, String typeName) throws UnableToCompleteException {
        JClassType classType;
        String r = null;
        try {
            classType = context.getTypeOracle().getType(typeName);
            SourceWriter src = getSourceWriter(classType, context, logger);
src.println("public void test(){}");
            src.commit(logger);
            if (src != null) {
               r  = typeName + "Generated";
            } else {
                r = null;
            }
        } catch (NotFoundException e) {
            e.printStackTrace();
        }
        return r;
    }

but it is still an Error:

GWT Compiling client-side code.
Compiling module org.yournamehere.Main
Computing all possible rebind results for 'com.google.gwt.user.client.ui.Button'
      Rebinding com.google.gwt.user.client.ui.Button
         Invoking generator pl.cba.lukaszbaczek.rttiClassGWT.rttiGenerator
[ERROR] Generator 'pl.cba.lukaszbaczek.rttiClassGWT.rttiGenerator' threw an exception while rebinding 'com.google.gwt.user.client.ui.Button'
java.lang.NullPointerException
at pl.cba.lukaszbaczek.rttiClassGWT.rttiGenerator.generate(rttiGenerator.java:31) at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40) at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40) at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:676) at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41) at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:79) at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:276) at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:265) at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(DistillerRebindPermutationOracle.java:91) at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleGwtCreate(UnifyAst.java:387) at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleMagicMethodCall(UnifyAst.java:465) at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.endVisit(UnifyAst.java:255) at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:244) at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
    at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
    at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
    at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:117)
at com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:65) at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
    at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
    at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
    at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:117)
at com.google.gwt.dev.jjs.ast.JDeclarationStatement.traverse(JDeclarationStatement.java:48) at com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170) at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336)
    at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
    at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
    at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:138)
    at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:134)
    at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:82)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
    at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
    at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
    at com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:449)
    at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:418)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
    at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
    at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
    at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:940)
    at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:665)
at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:672) at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:34)
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:271)
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:223)
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:139)
    at com.google.gwt.dev.Compiler.run(Compiler.java:167)
    at com.google.gwt.dev.Compiler.run(Compiler.java:132)
    at com.google.gwt.dev.Compiler$1.run(Compiler.java:99)
at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55) at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)
    at com.google.gwt.dev.Compiler.main(Compiler.java:106)
   [ERROR] Errors in 'org/yournamehere/client/MainEntryPoint.java'
[ERROR] Line 32: Failed to resolve 'com.google.gwt.user.client.ui.Button' via deferred binding C:\Users\Łukasz\Documents\NetBeansProjects\xxx\nbproject\build-gwt.xml:331: The following error occurred while executing this line: C:\Users\Łukasz\Documents\NetBeansProjects\xxx\nbproject\build-gwt.xml:480: Java returned: 1
BUILD FAILED (total time: 18 seconds)

RG
Łukasz

W dniu 11.11.2014 o 12:41, Thomas Broyer pisze:
Your getSourceWriter method can explicitly return 'null', and you don't check for 'null' after you call it.

On Tuesday, November 11, 2014 3:24:17 AM UTC+1, Łukasz Bączek wrote:

    W dniu 11.11.2014 o 02:03, Jens pisze:
    Put the generator outside of your <source> path so that the gwt compiler 
does not try to compile it to javascript.
    You were right.

    Now I changed the path and the generator is working but there is
    another problem

    public class rttiGenerator extends Generator {

        @Override
        public String generate(TreeLogger logger, GeneratorContext
    context, String typeName) throws UnableToCompleteException {
            JClassType classType;
            try {
                classType = context.getTypeOracle().getType(typeName);
                SourceWriter src = getSourceWriter(classType, context,
    logger);
    *src.println("public void test(){}"); *
                src.commit(logger);
                return typeName + "Generated";
            } catch (NotFoundException e) {
                e.printStackTrace();
            }
            return null;
        }

        public SourceWriter getSourceWriter(JClassType classType,
                GeneratorContext context, TreeLogger logger) {
            String packageName = "pl.cba.lukaszbaczek.client";
            String simpleName = classType.getSimpleSourceName() +
    "Generated";
            ClassSourceFileComposerFactory composer = new
    ClassSourceFileComposerFactory(
                    packageName, simpleName);
            composer.addImport("com.google.gwt.user.client.ui.Button");
            composer.setSuperclass("Button");
            PrintWriter printWriter = context.tryCreate(logger,
    packageName,
                    simpleName);
            if (printWriter == null) {
                return null;
            } else {
                SourceWriter sw = composer.createSourceWriter(context,
    printWriter);
                return sw;
            }
        }
    }

    GWT Compiling client-side code.
    Compiling module org.yournamehere.Main
       Computing all possible rebind results for
    'com.google.gwt.user.client.ui.Button'
          Rebinding com.google.gwt.user.client.ui.Button
             Invoking generator
    pl.cba.lukaszbaczek.rttiClassGWT.rttiGenerator
                [ERROR] Generator
    'pl.cba.lukaszbaczek.rttiClassGWT.rttiGenerator' threw an
    exception while rebinding 'com.google.gwt.user.client.ui.Button'
    java.lang.NullPointerException
        at
    
pl.cba.lukaszbaczek.rttiClassGWT.rttiGenerator.generate(rttiGenerator.java:30)
        at
    
com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40)
        at
    
com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:676)
        at
    com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
        at
    
com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:79)
        at
    
com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:276)
        at
    
com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:265)
        at
    
com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(DistillerRebindPermutationOracle.java:91)
        at
    
com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleGwtCreate(UnifyAst.java:387)
        at
    
com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleMagicMethodCall(UnifyAst.java:465)
        at
    
com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.endVisit(UnifyAst.java:255)
        at
    com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:244)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
        at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:117)
        at
    com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:65)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
        at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:117)
        at
    
com.google.gwt.dev.jjs.ast.JDeclarationStatement.traverse(JDeclarationStatement.java:48)
        at
    
com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170)
        at
    
com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336)
        at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
        at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:138)
        at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:134)
        at
    com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:82)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
        at
    com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:449)
        at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:418)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
        at
    com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
        at
    com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:940)
        at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:665)
        at
    
com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:672)
        at
    
com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:34)
        at com.google.gwt.dev.Precompile.precompile(Precompile.java:271)
        at com.google.gwt.dev.Precompile.precompile(Precompile.java:223)
        at com.google.gwt.dev.Precompile.precompile(Precompile.java:139)
        at com.google.gwt.dev.Compiler.run(Compiler.java:167)
        at com.google.gwt.dev.Compiler.run(Compiler.java:132)
        at com.google.gwt.dev.Compiler$1.run(Compiler.java:99)
        at
    com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55)
        at
    
com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)
        at com.google.gwt.dev.Compiler.main(Compiler.java:106)
       [ERROR] Errors in 'org/yournamehere/client/MainEntryPoint.java'
          [ERROR] Line 32: Failed to resolve
    'com.google.gwt.user.client.ui.Button' via deferred binding
    C:\Users\Łukasz\Documents\NetBeansProjects\xxx\nbproject\build-gwt.xml:331:
    The following error occurred while executing this line:
    C:\Users\Łukasz\Documents\NetBeansProjects\xxx\nbproject\build-gwt.xml:480:
    Java returned: 1
    BUILD FAILED (total time: 17 seconds)


    NullPointerException I marked in red, please help

    RG,
    Łukasz

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To post to this group, send email to [email protected] <mailto:[email protected]>.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Google 
Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to