| java.lang.Object xtc.typical.Analyzer xtc.typical.TypicalAnalyzer
TypicalAnalyzer | public class TypicalAnalyzer extends Analyzer (Code) | | Type checker for Typical.
|
Inner Class :protected class removeLast | |
Inner Class :protected class preload | |
Field Summary | |
final Function.F1<Boolean, Pair<TypicalTypes.patternRecord>> | allWildCard | final Function.F1<TypicalTypes.raw_type<?>, Node> | analyze | final Function.F1<TypicalTypes.entry, Node> | analyzeBinding | final Function.F2<Pair<TypicalTypes.entry>, Pair<Node>, Pair<TypicalTypes.entry>> | analyzeBindings | final Function.F2<TypicalTypes.raw_type<?>, Node, Pair<TypicalTypes.entry>> | analyzeExpression | final Function.F1<TypicalTypes.raw_type<?>, Node> | analyzeTypeDefinition | final TypicalTypes.raw_type> | boolt | final Function.F1<Pair<Pair<TypicalTypes.patternRecord>>, Pair<Pair<TypicalTypes.patternRecord>>> | buildDMatrix | final Function.F1<TypicalTypes.graph, Pair<Node>> | buildGraph | final Function.F3<Pair<Pair<TypicalTypes.patternRecord>>, Pair<Pair<TypicalTypes.patternRecord>>, Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.patternRecord>> | buildMatrix | final Function.F2<Pair<TypicalTypes.pattern>, Pair<TypicalTypes.pattern>, TypicalTypes.constr> | buildResultPattern | final Function.F3<Pair<Pair<TypicalTypes.patternRecord>>, Pair<Pair<TypicalTypes.patternRecord>>, TypicalTypes.constr, Pair<Pair<TypicalTypes.patternRecord>>> | buildSMatrix | final Function.F3<Boolean, Pair<Node>, BigInteger, BigInteger> | checkBindings | final Function.F2<Boolean, Pair<TypicalTypes.raw_type<?>>, Pair<TypicalTypes.constr>> | checkComplete | final Function.F2<Boolean, Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.patternRecord>> | checkContain | final Function.F2<Boolean, String, Pair<TypicalTypes.entry>> | checkDefined | final Function.F1<Boolean, Pair<Node>> | checkExhaustive | final Function.F2<Boolean, Pair<TypicalTypes.patternRecord>, TypicalTypes.patternRecord> | checkInList | final Function.F1<Object, Pair<Node>> | checkIrredundant | final Function.F2<Boolean, Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.patternRecord>> | checkListInList | final Function.F2<Boolean, Node, Node> | checkMonomorphic | final Function.F1<TypicalTypes.raw_type<?>, Pair<TypicalTypes.raw_type<?>>> | checkNodeList | final Function.F2<TypicalTypes.result, Pair<Pair<TypicalTypes.patternRecord>>, BigInteger> | checkPartial | final Function.F2<Object, Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.patternRecord>> | checkPatterns | final Function.F2<Boolean, Pair<TypicalTypes.raw_type<?>>, TypicalTypes.raw_type<?>> | checkPolyUnify | final Function.F1<Object, Pair<Node>> | checkReduceMatching | final Function.F2<Object, Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.patternRecord>> | checkReducePatterns | final Function.F2<Object, Pair<TypicalTypes.patternRecord>, TypicalTypes.patternRecord> | checkReduceUnused | final Function.F3<Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.patternRecord>, TypicalTypes.patternRecord, Pair<TypicalTypes.patternRecord>> | checkRemovePattern | final Function.F2<TypicalTypes.result, Pair<Pair<TypicalTypes.patternRecord>>, TypicalTypes.constr> | checkSubPartial | final Function.F2<TypicalTypes.result, Pair<Pair<TypicalTypes.patternRecord>>, Pair<TypicalTypes.constr>> | checkSubPartials | final Function.F2<Boolean, Pair<TypicalTypes.patternRecord>, TypicalTypes.patternRecord> | checkUnused | final Function.F1<Object, Pair<Node>> | checkUnusedParameters | final Function.F2<Object, Pair<String>, Node> | checkUnusedVariables | final Function.F2<Boolean, Pair<TypicalTypes.patternRecord>, TypicalTypes.patternRecord> | checkUsed | final Function.F1<Pair<String>, TypicalTypes.raw_type<?>> | collectTypeVariables | final Function.F1<Pair<String>, Pair<Node>> | combineVariables | final Function.F1<Boolean, Pair<TypicalTypes.constr>> | completeSigma | final Function.F2<Boolean, TypicalTypes.patternRecord, TypicalTypes.patternRecord> | containPattern | final Function.F1<TypicalTypes.raw_type<?>, TypicalTypes.raw_type<?>> | copy | final Function.F2<BigInteger, String, Node> | countAppearance | final Function.F2<BigInteger, String, Pair<Node>> | countInList | final Function.F1<TypicalTypes.raw_type<?>, Node> | createFunctionType | final Function.F1<Object, Pair<TypicalTypes.raw_type<?>>> | createTypeRecord | final Function.F1<Object, TypicalTypes.entry> | defineEntry | final Function.F1<Boolean, Pair<TypicalTypes.constr>> | emptySigma | final Function.F1<TypicalTypes.raw_type<?>, TypicalTypes.raw_type<?>> | ensureNodeList | final Function.F1<TypicalTypes.raw_type<?>, TypicalTypes.raw_type<?>> | ensureNodeType | final Function.F2<Boolean, TypicalTypes.patternRecord, TypicalTypes.patternRecord> | equalPattern | final Function.F2<Boolean, Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.patternRecord>> | equalPatternList | final Function.F2<Pair<TypicalTypes.patternRecord>, TypicalTypes.patternRecord, TypicalTypes.constr> | expandPattern | final Function.F1<Pair<TypicalTypes.patternRecord>, TypicalTypes.patternRecord> | expandRecPattern | final Function.F1<Pair<Pair<String>>, Pair<TypicalTypes.call>> | findCircles | final Function.F2<TypicalTypes.pattern, Double, Pair<TypicalTypes.constr>> | findFloatPattern | final Function.F2<TypicalTypes.pattern, BigInteger, Pair<TypicalTypes.constr>> | findIntPattern | final Function.F6<Pair<Pair<String>>, String, String, Pair<String>, Pair<String>, Pair<Pair<String>>, Pair<TypicalTypes.call>> | findPaths | final Function.F6<Pair<Pair<String>>, Pair<String>, String, Pair<String>, Pair<String>, Pair<Pair<String>>, Pair<TypicalTypes.call>> | findPathsList | final Function.F2<TypicalTypes.pattern, String, Pair<TypicalTypes.constr>> | findStringPattern | final Function.F2<TypicalTypes.pattern, Pair<TypicalTypes.raw_type<?>>, Pair<TypicalTypes.constr>> | findUnmatchedConstructor | final Function.F1<TypicalTypes.pattern, Pair<TypicalTypes.constr>> | findUnmatchedPattern | final TypicalTypes.raw_type> | floatt | final Function.F2<String, Node, String> | getAnnotatedString | final Function.F2<Pair<String>, Node, String> | getAnnotatedStringList | final Function.F3<Pair<TypicalTypes.call>, Node, String, Pair<TypicalTypes.call>> | getCall | final Function.F3<Pair<TypicalTypes.call>, Pair<Node>, String, Pair<TypicalTypes.call>> | getCallList | final Function.F2<Pair<String>, Pair<TypicalTypes.call>, Pair<String>> | getCallees | final Function.F2<Pair<String>, String, Pair<TypicalTypes.call>> | getChildren | final Function.F1<TypicalTypes.constr, TypicalTypes.patternRecord> | getConstructor | final Function.F1<BigInteger, String> | getConstructorSize | final Function.F2<TypicalTypes.raw_type<?>, String, Pair<TypicalTypes.raw_type<?>>> | getConstructorType | final Function.F3<Pair<String>, String, Pair<TypicalTypes.call>, Pair<String>> | getDepend | final Function.F2<TypicalTypes.raw_type<?>, String, Pair<TypicalTypes.raw_type<?>>> | getFieldType | final Function.F1<Pair<TypicalTypes.patternRecord>, TypicalTypes.patternRecord> | getListFromPair | final Function.F2<Pair<String>, String, Pair<Pair<String>>> | getMutual | final Function.F1<Tuple.T3<Name, String, String>, Node> | getNameSpace | final Function.F1<Pair<String>, Pair<TypicalTypes.entry>> | getNames | final Function.F1<Pair<Node>, Node> | getNodeList | final Function.F1<Pair<String>, Pair<Node>> | getNodeTypes | final Function.F1<Pair<Node>, Pair<String>> | getNodes | final Function.F1<TypicalTypes.patternRecord, Pair<TypicalTypes.patternRecord>> | getPairFromList | final Function.F1<String, TypicalTypes.raw_type<?>> | getParent | final Function.F1<Pair<Node>, Pair<Node>> | getPatternNodes | final Function.F1<TypicalTypes.patternRecord, Node> | getPatternRecord | final Function.F1<Pair<TypicalTypes.patternRecord>, Pair<Node>> | getPatternRecords | final Function.F2<Pair<String>, String, Pair<Node>> | getReachableTypes | final Function.F3<Pair<TypicalTypes.nodeRec>, Pair<String>, Pair<TypicalTypes.call>, Pair<Pair<String>>> | getResult | final Function.F3<TypicalTypes.nodeRec, String, Pair<TypicalTypes.call>, Pair<Pair<String>>> | getResultNode | final Function.F1<Scope, Node> | getScope | final Function.F2<Pair<Node>, Pair<Node>, Pair<Node>> | getScopeSpace | final Function.F2<Pair<TypicalTypes.constr>, Pair<TypicalTypes.constr>, Pair<Pair<TypicalTypes.patternRecord>>> | getSigma | final Function.F1<String, Node> | getString | final Function.F1<Pair<String>, Node> | getStringList | final Function.F2<String, Pair<TypicalTypes.raw_type<?>>, String> | getTypeListName | final Function.F1<String, TypicalTypes.raw_type<?>> | getTypeName | final Function.F2<Pair<String>, String, Pair<Node>> | getTypeNameList | final Function.F2<Pair<String>, String, Node> | getTypeNames | final Function.F2<Pair<String>, Pair<Node>, Pair<String>> | getTypeVariables | final Function.F4<TypicalTypes.group, String, Pair<Pair<String>>, Pair<String>, Pair<Pair<String>>> | groupBy | final Function.F2<Pair<Pair<String>>, Pair<Pair<String>>, Pair<String>> | groupCircles | final Function.F1<Boolean, String> | hasTypeVariables | final Function.F2<Boolean, Pair<String>, Pair<Node>> | haveSameVariables | final TypicalTypes.raw_type> | intt | final Function.F1<Boolean, TypicalTypes.raw_type<?>> | isListType | final Function.F2<Boolean, TypicalTypes.patternRecord, TypicalTypes.patternRecord> | isMoreGeneral | final Function.F1<Boolean, TypicalTypes.raw_type<?>> | isNodeList | final Function.F1<Boolean, TypicalTypes.raw_type<?>> | isNodeType | final Function.F2<Boolean, String, Pair<Node>> | isUsedInList | final Function.F2<Boolean, String, Node> | isUsedVariable | final Function.F2<String, Pair<String>, String> | joinStringList | final Function.F2<Boolean, Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.patternRecord>> | lessPatternList | final Function.F2<Boolean, Pair<String>, Pair<String>> | listContains | final Function.F2<TypicalTypes.patternRecord, String, Pair<TypicalTypes.patternRecord>> | makeFieldPattern | final Function.F2<Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.raw_type<?>>, Pair<TypicalTypes.patternRecord>> | makeFieldPatterns | final Function.F1<Pair<TypicalTypes.patternRecord>, Pair<TypicalTypes.pattern>> | makePatternRecords | final Function.F1<Pair<String>, Pair<TypicalTypes.raw_type<?>>> | makeUnion | final Function.F1<Pair<TypicalTypes.patternRecord>, BigInteger> | makeWildCards | protected String | nodeType | final TypicalTypes.raw_type> | nodet | final preload | preload | final Function.F3<TypicalTypes.raw_type<?>, Pair<Node>, Pair<TypicalTypes.raw_type<?>>, TypicalTypes.raw_type<?>> | processArguments | final Function.F1<Pair<TypicalTypes.raw_type<?>>, Pair<Node>> | processAttributes | final Function.F2<Pair<Object>, Pair<Node>, Pair<TypicalTypes.raw_type<?>>> | processBodies | final Function.F2<TypicalTypes.raw_type<?>, TypicalTypes.raw_type<?>, Pair<Node>> | processFunctionApplication | final Function.F1<Pair<Object>, Pair<Node>> | processFunctionCalls | final Function.F1<Object, Node> | processMutual | final Function.F3<Pair<String>, Pair<String>, Pair<Node>, Pair<String>> | processNodeType | final Function.F1<Object, Pair<Node>> | processScopeSpace | final Function.F1<Boolean, Pair<Pair<TypicalTypes.patternRecord>>> | quickPartialCheck | final Function.F1<Boolean, String> | reachableFromNode | final Function.F3<Pair<TypicalTypes.pattern>, BigInteger, Pair<TypicalTypes.pattern>, Pair<TypicalTypes.pattern>> | reduceRecordPattern | final Function.F3<Pair<TypicalTypes.pattern>, BigInteger, Pair<TypicalTypes.pattern>, Pair<TypicalTypes.pattern>> | reduceTuplePattern | final Function.F4<Pair<TypicalTypes.pattern>, String, BigInteger, Pair<TypicalTypes.pattern>, Pair<TypicalTypes.pattern>> | reduceTypeConstructorPattern | final Function.F1<Object, TypicalTypes.nodeRec> | rememberOnNode | final Function.F2<Pair<String>, String, Pair<String>> | remove | final removeLast | removeLast | final Function.F2<Pair<String>, Pair<String>, Pair<String>> | removeMutual | final Function.F2<Pair<String>, Pair<String>, Node> | removeUsedVariables | final Function.F1<Pair<TypicalTypes.constr>, Pair<TypicalTypes.constr>> | removeWildConstr | final Function.F2<Pair<TypicalTypes.call>, Pair<TypicalTypes.call>, Pair<String>> | removeWrongEdges | final Function.F3<TypicalTypes.raw_type<?>, TypicalTypes.raw_type<?>, String, String> | replace | final Function.F3<Pair<TypicalTypes.raw_type<?>>, Pair<TypicalTypes.raw_type<?>>, String, String> | replaceList | final Function.F2<TypicalTypes.raw_type<?>, Pair<String>, TypicalTypes.raw_type<?>> | replaceTypeVariables | final Function.F1<Pair<Object>, Node> | resolveMutual | final Function.F1<Object, String> | resolveMutualName | final Function.F1<Object, Node> | resolveNode | final Function.F1<TypicalTypes.raw_type<?>, TypicalTypes.raw_type<?>> | resolveRecordType | final Function.F1<TypicalTypes.raw_type<?>, TypicalTypes.raw_type<?>> | resolveType | final Function.F1<Pair<String>, Node> | retrieveVariables | final Function.F1<Object, Node> | scanNode | final Function.F1<String, TypicalTypes.pattern> | showPattern | final Function.F1<String, Pair<TypicalTypes.patternRecord>> | showPatternRecords | final Function.F1<String, Pair<TypicalTypes.pattern>> | showPatterns | final Function.F2<Boolean, Pair<TypicalTypes.constr>, String> | sigmaContains | final TypicalTypes.raw_type> | strt | final TypicalTypes.raw_type> | typet | final Function.F2<TypicalTypes.raw_type<?>, TypicalTypes.raw_type<?>, TypicalTypes.raw_type<?>> | unify | final Function.F2<Pair<TypicalTypes.raw_type<?>>, Pair<TypicalTypes.raw_type<?>>, Pair<TypicalTypes.raw_type<?>>> | unifyTwoList | final Function.F2<Pair<String>, Pair<String>, Pair<String>> | unionAppend | final Function.F1<Pair<TypicalTypes.raw_type<?>>, Node> | visitDepend | final Function.F1<TypicalTypes.raw_type<?>, String> | visitDependNode | final Function.F2<Object, Pair<String>, Pair<Node>> | visitFunctions | final TypicalTypes.raw_type> | wildt |
preload | final preload preload(Code) | | |
removeLast | final removeLast removeLast(Code) | | |
getScopeNodes | public void getScopeNodes()(Code) | | |
Fields inherited from xtc.typical.Analyzer | final protected String ENTERSCOPE(Code)(Java Doc) final protected String EXITSCOPE(Code)(Java Doc) final protected String MAGICNUMBER(Code)(Java Doc) protected Function.F1<?, Node> analyzer(Code)(Java Doc) final protected Function.F1<Node, NodeMatch> ancestor(Code)(Java Doc) final protected Function.F3<Void, Node, Object, Function.F1<?, Node>> define3(Code)(Java Doc) final protected Function.F5<Void, Node, Object, String, String, Function.F1<?, Node>> define5(Code)(Java Doc) final protected Function.F1<String, String> freshName(Code)(Java Doc) final protected SymbolTable gamma(Code)(Java Doc) protected Hashtable<Object, Object> hashTable(Code)(Java Doc) final protected Function.F2<Boolean, Node, Function.F1<?, Node>> isDefined(Code)(Java Doc) final protected Function.F2<Boolean, Node, Function.F1<?, Node>> isDefinedLocally(Code)(Java Doc) final protected Function.F3<Void, String, String, Object> load(Code)(Java Doc) final protected Function.F2<Object, Node, Function.F1<?, Node>> lookup2(Code)(Java Doc) final protected Function.F4<Object, Node, String, String, Function.F1<?, Node>> lookup4(Code)(Java Doc) final protected Function.F2<Object, Node, Function.F1<?, Node>> lookupLocally2(Code)(Java Doc) final protected Function.F4<Object, Node, String, String, Function.F1<?, Node>> lookupLocally4(Code)(Java Doc) final protected ArrayList<Node> matching_nodes(Code)(Java Doc) final protected Function.F1<Boolean, Object> notBottom(Code)(Java Doc) final protected Function.F1<Node, NodeMatch> parent(Code)(Java Doc) final protected ArrayList<String> processScopeNodes(Code)(Java Doc) final protected Function.F3<Void, Node, Object, Function.F1<?, Node>> redefine(Code)(Java Doc) protected Node root(Code)(Java Doc) final protected Runtime runtime(Code)(Java Doc) final protected Function.F1<Boolean, String> show_symbols(Code)(Java Doc)
|
|
|