28package com.jogamp.gluegen.cgram.types;
55 static <C>
boolean listsEqual(
final List<C> a,
final List<C> b) {
63 if( b !=
null && a.size() == b.size() ) {
64 final int count = a.size();
65 for(
int i=0; i<count; i++) {
66 final C ac = a.get(i);
67 final C bc = b.get(i);
75 if( !ac.equals(bc) ) {
85 static <C extends SemanticEqualityOp>
int listsHashCode(
final List<C> a) {
89 final int count = a.size();
91 for(
int i=0; i<count; i++) {
92 final C ac = a.get(i);
93 hash = ((hash << 5) - hash) + (
null != ac ? ac.hashCode() : 0 );
100 static <C extends SemanticEqualityOp>
boolean listsEqualSemantics(
final List<C> a,
final List<C> b) {
108 if( b !=
null && a.size() == b.size() ) {
109 final int count = a.size();
110 for(
int i=0; i<count; i++) {
111 final C ac = a.get(i);
112 final C bc = b.get(i);
120 if( !ac.equalSemantics(bc) ) {
130 static <C extends SemanticEqualityOp>
int listsHashCodeSemantics(
final List<C> a) {
134 final int count = a.size();
136 for(
int i=0; i<count; i++) {
137 final C ac = a.get(i);
138 hash = ((hash << 5) - hash) + (
null != ac ? ac.hashCodeSemantics() : 0 );
Supports symbol aliasing, i.e.
Supports common interface for SemanticEqualityOp and AliasedSymbol.
Supports semantic equality and hash functions for types.
int hashCodeSemantics()
Semantic hashcode for Types exclusive its given name.
boolean equalSemantics(final SemanticEqualityOp arg)
Semantic equality test for Types exclusive its given name.