diff --git a/src/PMD/parser/parser.jl b/src/PMD/parser/parser.jl index 22e3ade1..8ee687c2 100644 --- a/src/PMD/parser/parser.jl +++ b/src/PMD/parser/parser.jl @@ -145,7 +145,7 @@ function _apply_merge!(parser::Parser, target::String, merge_path::Set{String}) end if haskey(data, k) - _error( + _warning( parser, "Collection '$target' already has attribute '$k' being merged from '$source'", ) @@ -585,6 +585,7 @@ function _parse_reference!( state::S, ) where {S <: Union{PMD_DEF_MODEL, PMD_DEF_CLASS, PMD_MERGE_CLASS}} m = match(r"(PARM|VECTOR|VETOR)\s+(REFERENCE)\s+(\S+)\s+(\S+)", line) + m1 = match(r"(PARM|VECTOR|VETOR)\s+(REFERENCE)\s+(\S+)", line) if m !== nothing kind = String(m[1]) @@ -610,6 +611,12 @@ function _parse_reference!( parser.relation_mapper[state.collection][target][attribute] = relation + return true + elseif m1 !== nothing + _warning( + parser, + "Unhandled reference '$(m1[3])' within '$(state.collection)'", + ) return true else return false