Examples of MethodEntry


Examples of cuchaz.enigma.mapping.MethodEntry

    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

Examples of cuchaz.enigma.mapping.MethodEntry

    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

Examples of cuchaz.enigma.mapping.MethodEntry

        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

Examples of cuchaz.enigma.mapping.MethodEntry

  }

  @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

Examples of cuchaz.enigma.mapping.MethodEntry

  }
 
  @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

Examples of cuchaz.enigma.mapping.MethodEntry

    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

Examples of cuchaz.enigma.mapping.MethodEntry

        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

Examples of cuchaz.enigma.mapping.MethodEntry

  {
    // get the behavior entry
    final BehaviorEntry behaviorEntry = BehaviorEntryFactory.create( behavior );
    if( behaviorEntry instanceof MethodEntry )
    {
      MethodEntry methodEntry = (MethodEntry)behaviorEntry;
     
      // index implementation
      m_methodImplementations.put( behaviorEntry.getClassName(), methodEntry );
     
      // look for bridge methods
      CtMethod bridgedMethod = getBridgedMethod( (CtMethod)behavior );
      if( bridgedMethod != null )
      {
        MethodEntry bridgedMethodEntry = new MethodEntry(
          behaviorEntry.getClassEntry(),
          bridgedMethod.getName(),
          bridgedMethod.getSignature()
        );
        m_bridgeMethods.put( bridgedMethodEntry, methodEntry );
View Full Code Here

Examples of cuchaz.enigma.mapping.MethodEntry

      {
        @Override
        public void edit( MethodCall call )
        {
          String className = Descriptor.toJvmName( call.getClassName() );
          MethodEntry calledMethodEntry = new MethodEntry(
            new ClassEntry( className ),
            call.getMethodName(),
            call.getSignature()
          );
          ClassEntry resolvedClassEntry = resolveEntryClass( calledMethodEntry );
          if( resolvedClassEntry != null && !resolvedClassEntry.equals( calledMethodEntry.getClassEntry() ) )
          {
            calledMethodEntry = new MethodEntry(
              resolvedClassEntry,
              call.getMethodName(),
              call.getSignature()
            );
          }
View Full Code Here

Examples of cuchaz.enigma.mapping.MethodEntry

  {
    // travel to the ancestor implementation
    String baseImplementationClassName = obfMethodEntry.getClassName();
    for( String ancestorClassName : m_translationIndex.getAncestry( obfMethodEntry.getClassName() ) )
    {
      MethodEntry ancestorMethodEntry = new MethodEntry(
        new ClassEntry( ancestorClassName ),
        obfMethodEntry.getName(),
        obfMethodEntry.getSignature()
      );
      if( containsObfBehavior( ancestorMethodEntry ) )
      {
        baseImplementationClassName = ancestorClassName;
      }
    }
   
    // make a root node at the base
    MethodEntry methodEntry = new MethodEntry(
      new ClassEntry( baseImplementationClassName ),
      obfMethodEntry.getName(),
      obfMethodEntry.getSignature()
    );
    MethodInheritanceTreeNode rootNode = new MethodInheritanceTreeNode(
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.