Package cuchaz.enigma.mapping

Examples of cuchaz.enigma.mapping.MethodEntry


      {
        behaviorEntry = new ConstructorEntry( classEntry );
      }
      else
      {
        behaviorEntry = new MethodEntry( classEntry, ref.getName(), ref.getSignature() );
      }
    }
    if( behaviorEntry != null )
    {
      // get the node for the token
View Full Code Here


    {
      behaviorEntry = new ConstructorEntry( classEntry, methodDef.getSignature() );
    }
    else
    {
      behaviorEntry = new MethodEntry( classEntry, methodDef.getName(), methodDef.getSignature() );
    }
    ArgumentEntry argumentEntry = new ArgumentEntry( behaviorEntry, def.getPosition(), node.getName() );
    index.addDeclaration( node.getNameToken(), argumentEntry );
   
    return recurse( node, index );
View Full Code Here

  public void relatedMethodImplementations( )
  {
    Set<MethodEntry> entries;
   
    // getName()
    entries = m_index.getRelatedMethodImplementations( new MethodEntry( m_baseClass, "a", "()Ljava/lang/String;" ) );
    assertThat( entries, containsInAnyOrder(
      new MethodEntry( m_baseClass, "a", "()Ljava/lang/String;" ),
      new MethodEntry( m_subClassAA, "a", "()Ljava/lang/String;" )
    ) );
    entries = m_index.getRelatedMethodImplementations( new MethodEntry( m_subClassAA, "a", "()Ljava/lang/String;" ) );
    assertThat( entries, containsInAnyOrder(
      new MethodEntry( m_baseClass, "a", "()Ljava/lang/String;" ),
      new MethodEntry( m_subClassAA, "a", "()Ljava/lang/String;" )
    ) );
   
    // doBaseThings()
    entries = m_index.getRelatedMethodImplementations( new MethodEntry( m_baseClass, "a", "()V" ) );
    assertThat( entries, containsInAnyOrder(
      new MethodEntry( m_baseClass, "a", "()V" ),
      new MethodEntry( m_subClassAA, "a", "()V" ),
      new MethodEntry( m_subClassB, "a", "()V" )
    ) );
    entries = m_index.getRelatedMethodImplementations( new MethodEntry( m_subClassAA, "a", "()V" ) );
    assertThat( entries, containsInAnyOrder(
      new MethodEntry( m_baseClass, "a", "()V" ),
      new MethodEntry( m_subClassAA, "a", "()V" ),
      new MethodEntry( m_subClassB, "a", "()V" )
    ) );
    entries = m_index.getRelatedMethodImplementations( new MethodEntry( m_subClassB, "a", "()V" ) );
    assertThat( entries, containsInAnyOrder(
      new MethodEntry( m_baseClass, "a", "()V" ),
      new MethodEntry( m_subClassAA, "a", "()V" ),
      new MethodEntry( m_subClassB, "a", "()V" )
    ) );
   
    // doBThings
    entries = m_index.getRelatedMethodImplementations( new MethodEntry( m_subClassB, "b", "()V" ) );
    assertThat( entries, containsInAnyOrder(
      new MethodEntry( m_subClassB, "b", "()V" )
    ) );
  }
View Full Code Here

    assertThat( references, containsInAnyOrder(
      newBehaviorReferenceByConstructor( source, m_subClassAA.getName(), "()V" )
    ) );
   
    // baseClass.getName()
    source = new MethodEntry( m_baseClass, "a", "()Ljava/lang/String;" );
    references = m_index.getBehaviorReferences( source );
    assertThat( references, containsInAnyOrder(
      newBehaviorReferenceByMethod( source, m_subClassAA.getName(), "a", "()Ljava/lang/String;" ),
      newBehaviorReferenceByMethod( source, m_subClassB.getName(), "a", "()V" )
    ) );
   
    // subclassAA.getName()
    source = new MethodEntry( m_subClassAA, "a", "()Ljava/lang/String;" );
    references = m_index.getBehaviorReferences( source );
    assertThat( references, containsInAnyOrder(
      newBehaviorReferenceByMethod( source, m_subClassAA.getName(), "a", "()V" )
    ) );
  }
View Full Code Here

    assertThat( m_index.containsObfField( m_nameField ), is( true ) );
    assertThat( m_index.containsObfField( m_numThingsField ), is( true ) );
   
    // methods
    // getName()
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_baseClass, "a", "()Ljava/lang/String;" ) ), is( true ) );
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_subClassA, "a", "()Ljava/lang/String;" ) ), is( false ) );
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_subClassAA, "a", "()Ljava/lang/String;" ) ), is( true ) );
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_subClassB, "a", "()Ljava/lang/String;" ) ), is( false ) );
   
    // doBaseThings()
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_baseClass, "a", "()V" ) ), is( true ) );
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_subClassA, "a", "()V" ) ), is( false ) );
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_subClassAA, "a", "()V" ) ), is( true ) );
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_subClassB, "a", "()V" ) ), is( true ) );
   
    // doBThings()
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_baseClass, "b", "()V" ) ), is( false ) );
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_subClassA, "b", "()V" ) ), is( false ) );
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_subClassAA, "b", "()V" ) ), is( false ) );
    assertThat( m_index.containsObfBehavior( new MethodEntry( m_subClassB, "b", "()V" ) ), is( true ) );

  }
View Full Code Here

        if( methodMapping.isConstructor() )
        {
          continue;
        }
       
        MethodEntry methodEntry = new MethodEntry( obfClassEntry, methodMapping.getObfName(), methodMapping.getObfSignature() );
        ClassEntry resolvedObfClassEntry = m_jarIndex.resolveEntryClass( methodEntry );
        if( resolvedObfClassEntry != null && !resolvedObfClassEntry.equals( methodEntry.getClassEntry() ) )
        {
          boolean wasMoved = renamer.moveMethodToObfClass( classMapping, methodMapping, resolvedObfClassEntry );
          if( wasMoved )
          {
            System.out.println( String.format( "Moved method %s to class %s", methodEntry, resolvedObfClassEntry ) );
View Full Code Here

  }

  @Test
  public void methodInheritance( )
  {
    MethodEntry source = newMethod( "none/a", "a", "()Ljava/lang/String;" );
    MethodInheritanceTreeNode node = m_index.getMethodInheritance( new Translator(), source );
    assertThat( node, is( not( nullValue() ) ) );
    assertThat( node.getMethodEntry(), is( source ) );
    assertThat( node.getChildCount(), is( 0 ) );
  }
View Full Code Here

  }
 
  @Test
  public void methodImplementations( )
  {
    MethodEntry source = newMethod( "none/a", "a", "()Ljava/lang/String;" );
    MethodImplementationsTreeNode node = m_index.getMethodImplementations( new Translator(), source );
    assertThat( node, is( nullValue() ) );
  }
View Full Code Here

    return new FieldEntry( newClass( className ), fieldName );
  }
 
  public static MethodEntry newMethod( String className, String methodName, String methodSignature )
  {
    return new MethodEntry( newClass( className ), methodName, methodSignature );
  }
View Full Code Here

        FieldEntry fieldEntry = new FieldEntry( classEntry, field.getName() );
        m_access.put( fieldEntry, Access.get( field ) );
      }
      for( CtMethod method : c.getDeclaredMethods() )
      {
        MethodEntry methodEntry = new MethodEntry( classEntry, method.getName(), method.getSignature() );
        m_access.put( methodEntry, Access.get( method ) );
      }
      for( CtConstructor constructor : c.getDeclaredConstructors() )
      {
        ConstructorEntry constructorEntry = new ConstructorEntry( classEntry, constructor.getSignature() );
View Full Code Here

TOP

Related Classes of cuchaz.enigma.mapping.MethodEntry

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.