40package com.jogamp.gluegen.cgram.types;
44import com.jogamp.gluegen.ASTLocusTag;
45import com.jogamp.gluegen.ASTLocusTag.ASTLocusTagProvider;
46import com.jogamp.gluegen.cgram.types.AliasedSymbol.AliasedSymbolImpl;
47import com.jogamp.gluegen.cgram.types.TypeComparator.AliasedSemanticSymbol;
48import com.jogamp.gluegen.cgram.types.TypeComparator.SemanticEqualityOp;
69 this(name, type,
null);
75 this.astLocus = locus;
87 this.astLocus = o.astLocus;
131 public String
toString(
final boolean emitNativeTag) {
144 public boolean equals(
final Object arg) {
180 final int size = l.size();
181 for (
int i = 0; i < size; i++) {
183 if(
null == s &&
null == e ||
String getName()
Return the current-name, which is the last renamed-name if issued, or the original-name.
void addAliasedName(final String origName)
Add the given origName to the list of aliases if not equal current-name.
Describes a function symbol, which includes the name and type.
int hashCodeSemantics()
Semantic hashcode for Types exclusive its given name.
ASTLocusTag getASTLocusTag()
Returns this instance's ASTLocusTag, if available, otherwise returns null.
boolean equals(final Object arg)
static int exactIndexOf(final List< FunctionSymbol > l, final FunctionSymbol s)
final boolean equalSemantics(final SemanticEqualityOp arg)
Semantic equality test for Types exclusive its given name.
static boolean containsExactly(final List< FunctionSymbol > l, final FunctionSymbol s)
static FunctionSymbol cloneWithDeepAliases(final FunctionSymbol o)
Shallow'ish copy, only aliased names are re-created.
FunctionType getType()
Returns the type of this function.
String toString(final boolean emitNativeTag)
Helper routine for emitting native javadoc tags.
FunctionSymbol(final String name, final FunctionType type)
Type getArgumentType(final int i)
Returns the type of the ith argument.
boolean exactlyEqual(final Object arg)
Compares the function type as well, since equals(Object) and hashCode() won't.
FunctionSymbol(final String name, final FunctionType type, final ASTLocusTag locus)
void addArgument(final Type argumentType, final String argumentName)
Add an argument's name and type.
Type getReturnType()
Returns the return type of this function.
String getArgumentName(final int i)
Returns the name of the ith argument.
Describes a function type, used to model both function declarations and (via PointerType) function po...
String getArgumentName(final int i)
Returns the name of the ith argument.
Type getReturnType()
Returns the return type of this function.
String toString()
Returns a string representation of this type.
Type getArgumentType(final int i)
Returns the type of the ith argument.
void addArgument(final Type argumentType, final String argumentName)
Add an argument's name and type.
final String getCName()
Returns the name of this type.
final int hashCodeSemantics()
Semantic hashcode for Types exclusive its given name.
final boolean equalSemantics(final SemanticEqualityOp arg)
Semantic equality test for Types exclusive its given name.
final boolean equals(final Object arg)
Equality test for Types inclusive its given name.
Interface tag for ASTLocusTag provider.
Supports common interface for SemanticEqualityOp and AliasedSymbol.
Supports semantic equality and hash functions for types.