Bug 134376 - NPE in getGenericArgTypes() on Eclipse 3.1.2
Summary: NPE in getGenericArgTypes() on Eclipse 3.1.2
Status: RESOLVED WORKSFORME
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.5.0   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-01 14:27 EST by George Pacheco CLA
Modified: 2007-02-16 09:27 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description George Pacheco CLA 2006-04-01 14:27:00 EST
java.lang.NullPointerException
at org.aspectj.weaver.Shadow.getGenericArgTypes(Shadow.java:169)
at org.aspectj.weaver.patterns.ArgsPointcut.getArgumentsToMatchAgainst(ArgsPointcut.java:88)
at org.aspectj.weaver.patterns.ArgsPointcut.matchInternal(ArgsPointcut.java:76)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:144)
at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:53)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:144)
at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:51)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:144)
at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:64)
at org.aspectj.weaver.Advice.match(Advice.java:109)
at org.aspectj.weaver.bcel.BcelAdvice.match(BcelAdvice.java:104)
at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2196)
at org.aspectj.weaver.bcel.BcelClassWeaver.matchInvokeInstruction(BcelClassWeaver.java:2158)
at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:1907)
at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:1733)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:479)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:109)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1560)
at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1511)
at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1291)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1113)
at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:311)
at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:183)
at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:70)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:367)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:845)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:241)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:161)
at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:122)
at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191)

trouble in: 
public class gov.ba.pm.sopm.controller.uf.UfCadPB extends gov.ba.pm.sopm.controller.CadGenericoPB:
  private gov.ba.pm.sopm.dto.Uf uf
  public void <init>():
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 7)
                    INVOKESPECIAL gov.ba.pm.sopm.controller.CadGenericoPB.<init> ()V
    constructor-execution(void gov.ba.pm.sopm.controller.uf.UfCadPB.<init>())
    |               RETURN
    constructor-execution(void gov.ba.pm.sopm.controller.uf.UfCadPB.<init>())
  end public void <init>()

  public String getDescricao()    org.aspectj.weaver.MethodDeclarationLineNumber: 11:239
:
    method-execution(java.lang.String gov.ba.pm.sopm.controller.uf.UfCadPB.getDescricao())
    |               ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 12)
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | |             GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | method-call(java.lang.String gov.ba.pm.sopm.dto.Uf.getDescricao())
    | |             INVOKEVIRTUAL gov.ba.pm.sopm.dto.Uf.getDescricao ()Ljava/lang/String;
    | method-call(java.lang.String gov.ba.pm.sopm.dto.Uf.getDescricao())
    |               IFNONNULL L0
    |               LDC ""   (line 13)
    |               ARETURN
    |           L0: ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 15)
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | |             GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | method-call(java.lang.String gov.ba.pm.sopm.dto.Uf.getDescricao())
    | |             INVOKEVIRTUAL gov.ba.pm.sopm.dto.Uf.getDescricao ()Ljava/lang/String;
    | method-call(java.lang.String gov.ba.pm.sopm.dto.Uf.getDescricao())
    |               ARETURN
    method-execution(java.lang.String gov.ba.pm.sopm.controller.uf.UfCadPB.getDescricao())
  end public String getDescricao()

  public String getCodigo()    org.aspectj.weaver.MethodDeclarationLineNumber: 18:363
:
    method-execution(java.lang.String gov.ba.pm.sopm.controller.uf.UfCadPB.getCodigo())
    |               ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 19)
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | |             GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | method-call(java.lang.Integer gov.ba.pm.sopm.dto.Uf.getCodigo())
    | |             INVOKEVIRTUAL gov.ba.pm.sopm.dto.Uf.getCodigo ()Ljava/lang/Integer;
    | method-call(java.lang.Integer gov.ba.pm.sopm.dto.Uf.getCodigo())
    |               IFNONNULL L0
    |               LDC ""   (line 20)
    |               ARETURN
    |           L0: ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 22)
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | |             GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | method-call(java.lang.Integer gov.ba.pm.sopm.dto.Uf.getCodigo())
    | |             INVOKEVIRTUAL gov.ba.pm.sopm.dto.Uf.getCodigo ()Ljava/lang/Integer;
    | method-call(java.lang.Integer gov.ba.pm.sopm.dto.Uf.getCodigo())
    | method-call(java.lang.String java.lang.Integer.toString())
    | |             INVOKEVIRTUAL java.lang.Integer.toString ()Ljava/lang/String;
    | method-call(java.lang.String java.lang.Integer.toString())
    |               ARETURN
    method-execution(java.lang.String gov.ba.pm.sopm.controller.uf.UfCadPB.getCodigo())
  end public String getCodigo()

  protected void executarAlterar() throws java.lang.Exception    org.aspectj.weaver.MethodDeclarationLineNumber: 25:490
:
    method-execution(void gov.ba.pm.sopm.controller.uf.UfCadPB.executarAlterar())
    |               ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 27)
    |               LDC "Cadastro de Categoria de Tipos de Ocorrência"
    | field-set(java.lang.String gov.ba.pm.sopm.controller.uf.UfCadPB.tituloPagina)
    | |             PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.tituloPagina Ljava/lang/String;
    | field-set(java.lang.String gov.ba.pm.sopm.controller.uf.UfCadPB.tituloPagina)
    |               ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 28)
    |               LDC "Alterando Categoria de Tipos de Ocorrência"
    | field-set(java.lang.String gov.ba.pm.sopm.controller.uf.UfCadPB.tituloCadastro)
    | |             PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.tituloCadastro Ljava/lang/String;
    | field-set(java.lang.String gov.ba.pm.sopm.controller.uf.UfCadPB.tituloCadastro)
    |               ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 30)
    |               ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
    | method-call(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.obterBean())
    | |             INVOKESPECIAL gov.ba.pm.sopm.controller.uf.UfCadPB.obterBean ()Lgov/ba/pm/sopm/dto/Uf;
    | method-call(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.obterBean())
    | field-set(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | |             PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
    | field-set(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    |               NEW gov.ba.pm.sopm.dao.UfDAO   (line 32)
    |               DUP
    | constructor-call(void gov.ba.pm.sopm.dao.UfDAO.<init>())
    | |             INVOKESPECIAL gov.ba.pm.sopm.dao.UfDAO.<init> ()V
    | constructor-call(void gov.ba.pm.sopm.dao.UfDAO.<init>())
    |               ASTORE_1
    |               ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 33)
    |               ALOAD_1     // Lgov/ba/pm/sopm/dao/UfDAO; dao
    |               ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | |             GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
    | field-get(gov.ba.pm.sopm.dto.Uf gov.ba.pm.sopm.controller.uf.UfCadPB.uf)
    | method-call(gov.ba.pm.sopm.dto.base.BaseDTOAb gov.ba.pm.sopm.dao.UfDAO.obterPorPk(gov.ba.pm.sopm.dto.base.BaseDTOAb))
    | |             INVOKEVIRTUAL gov.ba.pm.sopm.dao.UfDAO.obterPorPk (Lgov/ba/pm/sopm/dto/base/BaseDTOAb;)Lgov/ba/pm/sopm/dto/base/BaseDTOAb;
    | method-call(gov.ba.pm.sopm.dto.base.BaseDTOAb gov.ba.pm.sopm.dao.UfDAO.obterPorPk(gov.ba.pm.sopm.dto.base.BaseDTOAb))
    |               CHECKCAST gov.ba.pm.sopm.dto.Uf
    |               PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
    |               RETURN   (line 35)
    method-execution(void gov.ba.pm.sopm.controller.uf.UfCadPB.executarAlterar())
  end protected void executarAlterar() throws java.lang.Exception

  protected void executarConfAlterar() throws java.lang.Exception    org.aspectj.weaver.MethodDeclarationLineNumber: 37:767
:
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 39)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    INVOKESPECIAL gov.ba.pm.sopm.controller.uf.UfCadPB.obterBean ()Lgov/ba/pm/sopm/dto/Uf;
                    PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
                    NEW gov.ba.pm.sopm.dao.UfDAO   (line 41)
                    DUP
                    INVOKESPECIAL gov.ba.pm.sopm.dao.UfDAO.<init> ()V
                    ASTORE_1
                    ALOAD_1     // Lgov/ba/pm/sopm/dao/UfDAO; dao   (line 42)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
                    INVOKEVIRTUAL gov.ba.pm.sopm.dao.UfDAO.alterar (Lgov/ba/pm/sopm/dto/base/BaseDTOAb;)V
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 44)
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.response Ljavax/servlet/http/HttpServletResponse;
                    LDC "ufMnt.jsp?acao=VISUALIZAR"
                    INVOKEINTERFACE javax.servlet.http.HttpServletResponse.sendRedirect (Ljava/lang/String;)V
                    RETURN   (line 46)
  end protected void executarConfAlterar() throws java.lang.Exception

  protected void executarConfNovo() throws java.lang.Exception    org.aspectj.weaver.MethodDeclarationLineNumber: 48:963
:
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 50)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    INVOKESPECIAL gov.ba.pm.sopm.controller.uf.UfCadPB.obterBean ()Lgov/ba/pm/sopm/dto/Uf;
                    PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
                    NEW gov.ba.pm.sopm.dao.UfDAO   (line 52)
                    DUP
                    INVOKESPECIAL gov.ba.pm.sopm.dao.UfDAO.<init> ()V
                    ASTORE_1
                    ALOAD_1     // Lgov/ba/pm/sopm/dao/UfDAO; dao   (line 53)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
                    INVOKEVIRTUAL gov.ba.pm.sopm.dao.UfDAO.inserir (Lgov/ba/pm/sopm/dto/base/BaseDTOAb;)V
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 55)
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.response Ljavax/servlet/http/HttpServletResponse;
                    LDC "ufMnt.jsp?acao=VISUALIZAR"
                    INVOKEINTERFACE javax.servlet.http.HttpServletResponse.sendRedirect (Ljava/lang/String;)V
                    RETURN   (line 56)
  end protected void executarConfNovo() throws java.lang.Exception

  protected void executarExcluir() throws java.lang.Exception    org.aspectj.weaver.MethodDeclarationLineNumber: 58:1154
:
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 60)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    INVOKESPECIAL gov.ba.pm.sopm.controller.uf.UfCadPB.obterBean ()Lgov/ba/pm/sopm/dto/Uf;
                    PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
                    NEW gov.ba.pm.sopm.dao.UfDAO   (line 62)
                    DUP
                    INVOKESPECIAL gov.ba.pm.sopm.dao.UfDAO.<init> ()V
                    ASTORE_1
                    ALOAD_1     // Lgov/ba/pm/sopm/dao/UfDAO; dao   (line 63)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
                    INVOKEVIRTUAL gov.ba.pm.sopm.dao.UfDAO.excluir (Lgov/ba/pm/sopm/dto/base/BaseDTOAb;)V
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 65)
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.response Ljavax/servlet/http/HttpServletResponse;
                    LDC "ufMnt.jsp?acao=VISUALIZAR"
                    INVOKEINTERFACE javax.servlet.http.HttpServletResponse.sendRedirect (Ljava/lang/String;)V
                    RETURN   (line 67)
  end protected void executarExcluir() throws java.lang.Exception

  protected void executarNovo() throws java.lang.Exception    org.aspectj.weaver.MethodDeclarationLineNumber: 69:1346
:
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 71)
                    LDC "Cadastro de UF"
                    PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.tituloPagina Ljava/lang/String;
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 72)
                    LDC "Inserindo Nova UF"
                    PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.tituloCadastro Ljava/lang/String;
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 74)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    INVOKESPECIAL gov.ba.pm.sopm.controller.uf.UfCadPB.obterBean ()Lgov/ba/pm/sopm/dto/Uf;
                    PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
                    RETURN   (line 76)
  end protected void executarNovo() throws java.lang.Exception

  protected void executarCancelar() throws java.lang.Exception    org.aspectj.weaver.MethodDeclarationLineNumber: 78:1507
:
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 79)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    INVOKESPECIAL gov.ba.pm.sopm.controller.uf.UfCadPB.obterBean ()Lgov/ba/pm/sopm/dto/Uf;
                    PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 80)
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.response Ljavax/servlet/http/HttpServletResponse;
                    LDC "ufMnt.jsp?acao=VISUALIZAR"
                    INVOKEINTERFACE javax.servlet.http.HttpServletResponse.sendRedirect (Ljava/lang/String;)V
                    RETURN   (line 81)
  end protected void executarCancelar() throws java.lang.Exception

  protected void executarFiltrar() throws java.lang.Exception    org.aspectj.weaver.MethodDeclarationLineNumber: 84:1656
:
                    RETURN   (line 87)
  end protected void executarFiltrar() throws java.lang.Exception

  private gov.ba.pm.sopm.dto.Uf obterBean()    org.aspectj.weaver.MethodDeclarationLineNumber: 89:1752
:
                    NEW gov.ba.pm.sopm.dto.Uf   (line 91)
                    DUP
                    INVOKESPECIAL gov.ba.pm.sopm.dto.Uf.<init> ()V
                    ASTORE_1
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this   (line 92)
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.request Ljavax/servlet/http/HttpServletRequest;
                    LDC "codigo"
                    INVOKEINTERFACE javax.servlet.http.HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String;
                    IFNULL L0
                    LDC ""   (line 93)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.request Ljavax/servlet/http/HttpServletRequest;
                    LDC "codigo"
                    INVOKEINTERFACE javax.servlet.http.HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String;
                    INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
                    IFNE L0
                    ALOAD_1     // Lgov/ba/pm/sopm/dto/Uf; uf   (line 94)
                    NEW java.lang.Integer
                    DUP
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.request Ljavax/servlet/http/HttpServletRequest;
                    LDC "codigo"
                    INVOKEINTERFACE javax.servlet.http.HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String;
                    INVOKESPECIAL java.lang.Integer.<init> (Ljava/lang/String;)V
                    INVOKEVIRTUAL gov.ba.pm.sopm.dto.Uf.setCodigo (Ljava/lang/Integer;)V
                L0: ALOAD_1     // Lgov/ba/pm/sopm/dto/Uf; uf   (line 97)
                    ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
                    GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.request Ljavax/servlet/http/HttpServletRequest;
                    LDC "descricao"
                    INVOKEINTERFACE javax.servlet.http.HttpServletRequest.getParameter (Ljava/lang/String;)Ljava/lang/String;
                    INVOKEVIRTUAL gov.ba.pm.sopm.dto.Uf.setDescricao (Ljava/lang/String;)V
                    ALOAD_1     // Lgov/ba/pm/sopm/dto/Uf; uf   (line 99)
                    ARETURN
  end private gov.ba.pm.sopm.dto.Uf obterBean()

end public class gov.ba.pm.sopm.controller.uf.UfCadPB

when weaving classes 
when weaving 
when batch building BuildConfig[D:\WORKSPACE\.metadata\.plugins\org.eclipse.ajdt.core\Sopm.generated.lst] #Files=188


My code:

pointcut ConfNovo(): withincode(* UfCadPB.executarConfNovo());
	
	after(Uf uf) returning : ConfNovo() && args(uf) {
		try {
			Session session = HibernateUtil.getSession();
			HibernateUtil.beginTransaction();
			session.save(uf);
		}
		catch(AcessoDadosException e){
	    e.printStackTrace();
		}
	}
Comment 1 Andrew Clement CLA 2006-04-01 16:14:24 EST
What version of AJDT are you using? are you on the latest dev build or not?
Comment 2 George Pacheco CLA 2006-04-01 17:18:12 EST
I´m using 1.3.1.20060330061801.

with eclipse 3.1, my code work normaly.
Comment 3 Andrew Clement CLA 2006-05-18 05:57:33 EDT
Are you still having this problem? Sorry I haven't been able to investigate sooner.

The way the pointcut is written we are looking for a joinpoint in the method "executarConfNovo" that causes us to fail when attempting to match args against it.  The code for executarConfNovo is: 

protected void executarConfNovo() throws java.lang.Exception

  ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
  ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
  INVOKESPECIAL
gov.ba.pm.sopm.controller.uf.UfCadPB.obterBean ()Lgov/ba/pm/sopm/dto/Uf;
  PUTFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf
Lgov/ba/pm/sopm/dto/Uf;
  NEW gov.ba.pm.sopm.dao.UfDAO   (line 52)
  DUP
  INVOKESPECIAL gov.ba.pm.sopm.dao.UfDAO.<init> ()V
  ASTORE_1
  ALOAD_1     // Lgov/ba/pm/sopm/dao/UfDAO; dao   (line 53)
  ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this
  GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.uf Lgov/ba/pm/sopm/dto/Uf;
  INVOKEVIRTUAL gov.ba.pm.sopm.dao.UfDAO.inserir(Lgov/ba/pm/sopm/dto/base/BaseDTOAb;)V
  ALOAD_0     // Lgov/ba/pm/sopm/controller/uf/UfCadPB; this 
  GETFIELD gov.ba.pm.sopm.controller.uf.UfCadPB.response Ljavax/servlet/http/HttpServletResponse;
  LDC "ufMnt.jsp?acao=VISUALIZAR"
  INVOKEINTERFACE javax.servlet.http.HttpServletResponse.sendRedirect (Ljava/lang/String;)V
  RETURN   (line 56)
end protected void executarConfNovo() throws java.lang.Exception


this is the method where the NPE occurs:

  public UnresolvedType[] getGenericArgTypes() {
    if (isShadowForArrayConstructionJoinpoint()) {
      return getArgumentTypesForArrayConstructionShadow();
    }
    if (getKind() == FieldSet) return new UnresolvedType[] { getResolvedSignature().getGenericReturnType() };
    return getResolvedSignature().getGenericParameterTypes();    	
  }

the last line in that method is line 169 so... getResolvedSignature() is returning null.

We know it is one of the invoke instructions from further down the stack trace.  And we know it isn't an invokespecial as that would take a different path.  So it is either 

  INVOKEVIRTUAL gov.ba.pm.sopm.dao.UfDAO.inserir(Lgov/ba/pm/sopm/dto/base/BaseDTOAb;)V
or
  INVOKEINTERFACE javax.servlet.http.HttpServletResponse.sendRedirect (Ljava/lang/String;)V

can I ask what the signature is of the inserir call?  I can see it takes a BaseDTOAb but is it a generic signature? (i.e. is BaseDTOAb a generic type?)

Are you building this entire project from source or are you binary weaving at all?
Comment 4 Andrew Clement CLA 2007-02-16 09:27:29 EST
no reply for six months. please reopen if it is still a problem for you.