java.lang.invoke.MethodType#hashCode ( )源码实例Demo

下面列出了java.lang.invoke.MethodType#hashCode ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。


private static int compareMethodTypes(final MethodType ownType, final MethodType otherType) {
    // Comparable interface demands that compareTo() should only return 0 if objects are equal.
    // Failing to meet this requirement causes same weight functions to replace each other in TreeSet,
    // so we go some lengths to come up with an ordering between same weight functions,
    // first falling back to parameter count and then to hash code.
    if (ownType.equals(otherType)) {
        return 0;
    }

    final int diff = weight(ownType) - weight(otherType);
    if (diff != 0) {
        return diff;
    }
    if (ownType.parameterCount() != otherType.parameterCount()) {
        return ownType.parameterCount() - otherType.parameterCount();
    }
    // We're just interested in not returning 0 here, not correct ordering
    return ownType.hashCode() - otherType.hashCode();
}
 
源代码2 项目: openjdk-8   文件: CompiledFunction.java

private static int compareMethodTypes(final MethodType ownType, final MethodType otherType) {
    // Comparable interface demands that compareTo() should only return 0 if objects are equal.
    // Failing to meet this requirement causes same weight functions to replace each other in TreeSet,
    // so we go some lengths to come up with an ordering between same weight functions,
    // first falling back to parameter count and then to hash code.
    if (ownType.equals(otherType)) {
        return 0;
    }

    final int diff = weight(ownType) - weight(otherType);
    if (diff != 0) {
        return diff;
    }
    if (ownType.parameterCount() != otherType.parameterCount()) {
        return ownType.parameterCount() - otherType.parameterCount();
    }
    // We're just interested in not returning 0 here, not correct ordering
    return ownType.hashCode() - otherType.hashCode();
}
 
源代码3 项目: dragonwell8_jdk   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码4 项目: TencentKona-8   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码5 项目: jdk8u60   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码6 项目: openjdk-jdk8u   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码8 项目: openjdk-jdk9   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码9 项目: jdk8u-jdk   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码10 项目: hottub   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码11 项目: openjdk-8-source   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码12 项目: openjdk-8   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码13 项目: jdk8u_jdk   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码14 项目: jdk8u-jdk   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}
 
源代码15 项目: jdk8u-dev-jdk   文件: MethodTypeTest.java

/**
 * Test of hashCode method, of class MethodType.
 */
@Test
public void testHashCode() {
    System.out.println("hashCode");
    MethodType instance = mt_viS;
    ArrayList<Class<?>> types = new ArrayList<>();
    types.add(instance.returnType());
    types.addAll(instance.parameterList());
    int expResult = types.hashCode();
    int result = instance.hashCode();
    assertEquals(expResult, result);
}