public static PType deBracket(PType other) { while (other instanceof ABracketType) { other = ((ABracketType) other).getType(); } return other; }
@Override public String caseABracketType(ABracketType type) throws AnalysisException { return "(" + type.getType() + ")"; }
public PType deBracket(PType other) { while (other instanceof ABracketType) { other = ((ABracketType) other).getType(); } return other; }
public Object deBracket(Object other) { while (other instanceof ABracketType) { other = ((ABracketType) other).getType(); } return other; }
@Override public Boolean caseABracketType(ABracketType type) throws AnalysisException { return type.getType().apply(THIS); }
@Override public Boolean caseABracketType(ABracketType type) throws AnalysisException { return type.getType().apply(THIS); }
@Override public Integer caseABracketType(ABracketType type) throws AnalysisException { return type.getType().apply(THIS); }
@Override public AFunctionType caseABracketType(ABracketType type) throws AnalysisException { return type.getType().apply(THIS); }
@Override public PType caseABracketType(ABracketType type, String typename) throws AnalysisException { return type.getType().apply(THIS, typename); }
@Override public PTypeList caseABracketType(ABracketType node) throws AnalysisException { return node.getType().apply(THIS); }
@Override public Boolean caseABracketType(ABracketType type, Integer size) throws AnalysisException { return type.getType().apply(THIS, size); }
@Override public AProductType caseABracketType(ABracketType type, Integer size) throws AnalysisException { return type.getType().apply(THIS, size); }
@Override public Boolean caseABracketType(ABracketType type, AAccessSpecifierAccessSpecifier accessSpecifier) throws AnalysisException { return type.getType().apply(this, accessSpecifier); }
@Override public Boolean caseABracketType(ABracketType node) throws AnalysisException { return node.getType().apply(THIS); }
/************************* Types ***************************/ @Override public LexNameSet caseABracketType(ABracketType node, FreeVarInfo info) throws AnalysisException { return node.getType().apply(this, info); }
@Override public Boolean caseABracketType(ABracketType type, Object other) throws AnalysisException { return type.getType().apply(this, other); }
@Override public SNumericBasicType caseABracketType(ABracketType type) throws AnalysisException { return type.getType().apply(THIS); }
@Override public A caseABracketType(ABracketType node) throws AnalysisException { return node.getType().apply(THIS); }
@Override public Boolean caseABracketType(ABracketType type, Class<? extends PType> typeclass) throws AnalysisException { return type.getType().apply(THIS, typeclass); }
@Override public STypeIR caseABracketType(ABracketType node, IRInfo question) throws AnalysisException { PType type = node.getType(); return type.apply(question.getTypeVisitor(), question); }