Simplify parsing of alt pin definitions.

This commit is contained in:
Jeff Young 2024-04-26 09:56:33 +01:00
parent 9be60cb45d
commit 02c1eef3be
3 changed files with 8 additions and 7 deletions

View File

@ -3172,12 +3172,10 @@ SCH_SYMBOL* SCH_IO_KICAD_SEXPR_PARSER::parseSchematicSymbol()
} }
} }
symbol->GetRawPins().emplace_back( std::make_unique<SCH_PIN>( symbol.get(), symbol->GetRawPins().emplace_back( std::make_unique<SCH_PIN>( symbol.get(), number,
number, alt ) ); alt, uuid ) );
const_cast<KIID&>( symbol->GetRawPins().back()->m_Uuid ) = uuid;
}
break; break;
}
default: default:
Expecting( "lib_id, lib_name, at, mirror, uuid, on_board, in_bom, dnp, " Expecting( "lib_id, lib_name, at, mirror, uuid, on_board, in_bom, dnp, "

View File

@ -172,7 +172,8 @@ SCH_PIN::SCH_PIN( SCH_SYMBOL* aParentSymbol, SCH_PIN* aLibPin ) :
* Create a proxy pin from an alternate pin designation. * Create a proxy pin from an alternate pin designation.
* The SCH_PIN data will be filled in when the pin is resolved (see SCH_SYMBOL::UpdatePins). * The SCH_PIN data will be filled in when the pin is resolved (see SCH_SYMBOL::UpdatePins).
*/ */
SCH_PIN::SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt ) : SCH_PIN::SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt,
const KIID& aUuid ) :
SCH_ITEM( aParentSymbol, SCH_PIN_T ), SCH_ITEM( aParentSymbol, SCH_PIN_T ),
m_libPin( nullptr ), m_libPin( nullptr ),
m_orientation( PIN_ORIENTATION::INHERIT ), m_orientation( PIN_ORIENTATION::INHERIT ),
@ -184,6 +185,7 @@ SCH_PIN::SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxSt
{ {
wxASSERT( aParentSymbol ); wxASSERT( aParentSymbol );
const_cast<KIID&>( m_Uuid ) = aUuid;
m_layer = LAYER_PIN; m_layer = LAYER_PIN;
} }

View File

@ -53,7 +53,8 @@ public:
SCH_PIN( SCH_SYMBOL* aParentSymbol, SCH_PIN* aLibPin ); SCH_PIN( SCH_SYMBOL* aParentSymbol, SCH_PIN* aLibPin );
SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt ); SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt,
const KIID& aUuid );
SCH_PIN( const SCH_PIN& aPin ); SCH_PIN( const SCH_PIN& aPin );