Class FunctionSymbol

All Implemented Interfaces:
ASTLocusTag.ASTLocusTagProvider, AliasedSymbol, TypeComparator.AliasedSemanticSymbol, TypeComparator.SemanticEqualityOp

Describes a function symbol, which includes the name and type. Since we are currently only concerned with processing functions this is the only symbol type, though plausibly more types should be added and a true symbol table constructed during parsing.

Note: Since C does not support method-overloading polymorphism like C++ or Java, we ignore the FunctionType attribute in equals(Object) and hashCode().
Hence we assume all method occurrences w/ same name are of equal or compatible type.
Deep comparison can be performed via #isCompletelyEqual(Object o);