protected HighSymbol newDynamicSymbol(long id, String nm, DataType dt, long hash,
			Address pcaddr) {
		if (id == 0) {
			id = getNextId();
		}
		HighSymbol sym;
		if (DynamicHash.getMethodFromHash(hash) > 3 && UnionFacetSymbol.isUnionType(dt)) {
			int fieldNum = UnionFacetSymbol.extractFieldNumber(nm);
			sym = new UnionFacetSymbol(id, nm, dt, fieldNum, func);
		}
		else {
			sym = new HighSymbol(id, nm, dt, func);
		}
		DynamicEntry entry = new DynamicEntry(sym, pcaddr, hash);
		sym.addMapEntry(entry);
		insertSymbol(sym);
		return sym;
	}
@param i is the desired parameter position
@return the i-th parameter variable
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/LocalSymbolMap.java