JSema implements Sema { public JType type(ITypeBinding typeBinding) { return types.computeIfAbsent(typeBinding, k -> new JType(this, JType.normalize(typeBinding))); } JSema(AST ast); JType type(ITypeBinding typeBinding); JPackageSymbol packageSymbol(IPackageBinding packageBinding); JTypeSymbol typeSymbol(ITypeBinding typeBinding); JMethodSymbol methodSymbol(IMethodBinding methodBinding); JVariableSymbol variableSymbol(IVariableBinding variableBinding); @Override Type getClassType(String fullyQualifiedName);  }
@Test void type() { ITypeBinding typeBinding = Objects.requireNonNull(sema.resolveType("int")); assertThat(sema.type(typeBinding)) .isNotNull() .isSameAs(sema.type(typeBinding)); }