# Class: com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.MatchingState

Matching result \(not necessarily final\), between a target model and a reference model.

## Constructor: MatchingState


## Static Field: DEFAULT_NAME
Type: `java.lang.String`

Constant value: `codeless-sig.state`

## Method: addConstraint
- parameter: `targetFunc`, type: `com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Func`
- parameter: `constraint`, type: `com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Constraint`


## Method: equals
- parameter: `obj`, type: `java.lang.Object`
- return type: `boolean`


## Method: getIdentifiedRoutines
- return type: `com.pnfsoftware.jeb.util.collect.BiMap<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Func,com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Func>`


## Method: getIdentifiedRoutinesRange
- return type: `com.pnfsoftware.jeb.util.base.Couple<java.lang.Long,java.lang.Long>`


## Method: getMatchedRangeEndAddress
- return type: `long`


## Method: getMatchedRangeStartAddress
- return type: `long`


## Method: getModuleAt
- parameter: `address`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Module`


## Method: getNonIdentifiableRoutines
- return type: `java.util.Set<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Func>`


## Method: getRefMetadata
- return type: `com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.ExecutableModelMetadata`


## Method: getResultLog
- return type: `java.lang.String`


## Method: getRoutinesConstraints
- return type: `java.util.Map<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Func,java.util.List<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Constraint>>`


## Method: getTargetModules
- return type: `java.util.Map<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.ModuleId,com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Module>`


## Method: getTargetModulesMapping
- return type: `com.pnfsoftware.jeb.util.collect.SegmentMap<java.lang.Long,com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Module>`


## Method: hashCode
- return type: `int`


## Method: setIdentifiedRoutines
- parameter: `identifiedRoutines`, type: `com.pnfsoftware.jeb.util.collect.BiMap<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Func,com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Func>`


## Method: setIdentifiedRoutinesRange
- parameter: `startAddr`, type: `long`
- parameter: `endAddr`, type: `long`


## Method: setNonIdentifiableRoutines
- parameter: `nonIdentifiableRoutines`, type: `java.util.Set<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Func>`


## Method: setRefMetadata
- parameter: `refMetadata`, type: `com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.ExecutableModelMetadata`


## Method: setResultLog
- parameter: `resultLog`, type: `java.lang.String`


## Method: setRoutinesConstraints
- parameter: `routinesConstraints`, type: `java.util.Map<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Func,java.util.List<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Constraint>>`


## Method: setTargetModules
- parameter: `targetModules`, type: `java.util.Map<com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.ModuleId,com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Module>`


## Method: setTargetModulesMapping
- parameter: `targetModulesMapping`, type: `com.pnfsoftware.jeb.util.collect.SegmentMap<java.lang.Long,com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.Module>`


## Method: toString
- return type: `java.lang.String`


## Static Method: deserialize
- parameter: `statePath`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.MatchingState`


## Static Method: serialize
- parameter: `state`, type: `com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.MatchingState`
- parameter: `outFolder`, type: `java.lang.String`


